【Java初阶(一)】初识Java

❣博主主页: 33的博客❣
▶文章专栏分类: Java从入门到精通◀
🚚我的代码仓库: 33的代码仓库🚚

目录

  • 1. 前言
  • 2.Java的概念
    • 2.1第一个Java程序
    • 2.2运行java程序
  • 3.注释
  • 4. 标识符
  • 5.常量
  • 6. 数据类型
  • 7. 变量
    • 7.1整型变量
      • 7.1.1 整型变量
      • 7.1.2 长整型变量
      • 7.1.3 短整型变量
      • 7.1.4 字节型变量
    • 7.2浮点型变量
      • 7.2.1双精度浮点型
      • 7.2.2 单精度浮点型
    • 7.3字符类型
    • 7.4布尔类型
    • 7.5 类型转换
      • 7.5.1 类型提升
    • 7.6字符串类型
      • 7.6.1int类型转换为String类型
      • 7.6.2String类型转换为int类型
  • 8.运算符
    • 8.1 算数运算符
    • 8.2自增自减运算符
    • 8.3关系运算符
    • 8.4逻辑运算符
    • 8.5移位运算符
    • 8.6条件运算符
  • 9.总结

1. 前言

这篇文章是我编程学习Java后的第一篇文章,虽然我现在的知识储备少,代码能力弱,但我相信明年的今天,我会有质的飞跃,也希望大家和我一起学习,一起加油!

本章重点:

本篇文章主要介绍java的概念,第一个Java程序,注释,标识符,数据类型,变量,掌握各种运算符等等。

2.Java的概念

Java是一种优秀的程序语言,Java语言具有以下特性
简单性、面向对象、分布式(微服务)、健壮性、安全性、 可移植性、 多线程性等等。

2.1第一个Java程序

public class HelloWorld{
  public static void main(String[] args){
	System.out.println("Hello World");
  }
}	


1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。
2.类:类中带有一个或多个方法。方法必须在类的内部声明。
3.方法:在方法的花括号中编写方法应该执行的语句。

2.2运行java程序

  1. .使用记事本或者IDEA编写Java源程序
  2. 使用Javac 文件名.java编译生成xxx .class的字节码文件
  3. 使用Java xxx运行字节码文件

3.注释

Java中的注释主要分为以下三种

单行注释:// 注释内容
多行注释:/* 注释内容*/
文档注释: /** 文档注释 */

4. 标识符

标识符其实就是:在程序中由用户给类名、方法名或者变量所取的名字
标识符中可以包含:字母、数字、_ 、$
注意:标识符不能以数字开头,也不能是关键字,要严格区分大小写

例:下面那些标识符是合法的?
A:class B:HelloWorld C:main D:123abc E:ARRAY_SIZE F: $name G: name:jim
A是关键字,错误。D以数字开头,错误。G中有冒号,错误。

java中有很多关键字,关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字,下面列举部分
常见关键字

5.常量

在程序运行期间,固定不变的量就称为常量:常量又可以分为以下几类

  1. 字符串常量:由””括起来的,比如“12345”、“hello”、“你好”。
  2. 整型常量:程序中直接写的数字(注意没有小数点),比如:100、1000
  3. 浮点数常量:程序中直接写的小数,比如:3.14、0.49
  4. 字符常量:由 单引号 括起来的当个字符,比如:‘A’、‘1’
  5. 布尔常量:只有两种true和false

6. 数据类型

Java中数据类型可以分为基本数据类型和引用数据类型。
基本数据类型有以下4类:整型、浮点型、字符型、布尔型。

7. 变量

在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的计算结果等。对于这些经常改变的内容,在Java程序中,称为变量。而数据类型就是用来定义不同种类变量的。
语法格式:

数据类型 变量名=初始值;

7.1整型变量

7.1.1 整型变量

//方法一:定义时候赋值
 int a=10;
 System.out.println(a);
 //方法二:使用时赋值,如果不赋值会编译错误
 int a;
 a=10;
 System.out.println(a);
 //int类型的取值范围
  System.out.println(Integer.MAX_VALUE);
  System.out.println(Integer.MIN_VALUE);

int类型在任何系统下都是4个字节,赋值给变量时,不能超过它的最大范围,int的包装类型为Integer。

7.1.2 长整型变量

long a=10L;//为了区分int和long类型,一般在long类型变量之后加L或者l(但与1类似不建议)
//long类型的取值范围
System.Out.println(Long.MIN_VALUE);
System.Out.println(Long.MAX_VALUE)

long类型在任何系统下都是8个字节,赋值给变量时,不能超过它的最大范围,long的包装类型为Long。

7.1.3 短整型变量

short a=10;
// short型变量所能表示的范围:
System.Out.println(Short.MIN_VALUE);
System.Out.println(Short.MAX_VALUE);

short在任何系统下都占2个字节,赋值给变量时,不能超过它的取值范围 ,short的包装类型为Short。

7.1.4 字节型变量

byte a =10;
// byte型变量所能表示的范围:
System.Out.println(Byte.MIN_VALUE);
System.Out.println(Byte.MAX_VALUE);

byte在任何系统下都占1个字节,赋值给变量时,不能超过它的取值范围 ,byte的包装类型为Byte。

7.2浮点型变量

7.2.1双精度浮点型

double b=3.14

接下来我们思考下列代码的结果是相同的吗?

int a=1;
int b=2;
System.out.println(a/b);//输出0,如果想输出0.5该如何该呢?如下
double c=1.0;
System.out.println(c/b);//输出0.5

double在任何系统下都占8个字节,赋值给变量时,不能超过它的取值范围 ,double的包装类型为Double。

7.2.2 单精度浮点型

float a=3.14;

同学们,想想这样定义对吗?实际上,这样定义是错误的,输入一个小数,计算机默认它的值都为double类型的,如果我们要定义float类型的,应该尾部加上f。

float a = 3.14f; // 写作 1.0F 也可以

float在任何系统下都占4个字节,赋值给变量时,不能超过它的取值范围 ,float的包装类型为Float。

7.3字符类型

char c1 = 'A'; // 大写字母
char c2 = '1'; // 数字字符
char c3 = '帅';//汉字字符

计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一个字符占用两个字节, 表示的字符种类更多, 包括中文。

7.4布尔类型

boolean a = true;

boolean 类型的变量只有两种取值, true 表示真, false 表示假.Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法。

7.5 类型转换

Java作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验。

int a=10;
long b=100;
b=a;//int类型赋值给long类型,可以编译成功
a=b;//long类型赋值给int类型,编译不成功
a=(int)b//强制数据类型转换,可能会造成数据丢失

7.5.1 类型提升

int 与long之间,int类型会被提升为long类型

int a=10;
long b=20;
int c=a+b;//int类型与long类型相加,会提升为long+long,再赋值给int类型的c,会造成数据丢失,会出现编译错误
long d=a+b;

再看一段代码:

byte a = 10;
byte b = 20;
byte c = a + b;//编译报错,当计算的类型是小于int类型的时候,计算机会默认转换为int类型进行计算,再赋值给byte时会造成数据丢失

7.6字符串类型

String s1 = "hello";
String s2 = " world";
System.out.println(s1+s2); //进行字符串拼接,输出hellowold

7.6.1int类型转换为String类型

int a=10;
String str=a+”“;//方法一
String str2=String.valueOf(a);

7.6.2String类型转换为int类型

String str="10"
int a=Integer.parsenlnt(str);

8.运算符

什么是运算符呢?Java中运算符可分为以下:算术运算符(+ – * / %)、关系运算符(< > ==)、逻辑运算符、位运算符、移位运算符以及条件运算。

8.1 算数运算符

就是基本的四则运算符:+ – * / %

int a = 3;
int b = 2;
System.out.println(a + b); // 5
System.out.println(a - b); // 1
System.out.println(a * b); // 6
System.out.println(a / b); // 1,取整
System.out.println(a % b); //1,取模

值得注意的是:做除法和取模时,右操作数不能为0,% 不仅可以对整型取模,也可以对double类型取模,但是没有意义。

8.2自增自减运算符

前置++:先加1,再使用
后置++:先使用,再++
前置–:先减1,再使用
后置–:先使用,再–

int a=3
b=a++//b的输出结果为3
b=++a//b的输出结果为4
b=a--//b的输出结果为3
b=--a//b的输出结果为2

8.3关系运算符

关系运算符主要有六个: == != < > <= >= ,其计算结果是 true 或者 false 。

int a = 10;
int b = 20;
// 注意:在Java中 = 表示赋值,要与数学中的含义区分
// 在Java中 == 表示相等
System.out.println(a == b); // false
System.out.println(a != b); // true
System.out.println(a < b); // true
System.out.println(a > b); // false
System.out.println(a <= b); // true
System.out.println(a >= b); // false

8.4逻辑运算符

逻辑运算符主要有三个: && || ! ,运算结果都是 boolean类型。
&&:
语法规则:表达式1 && 表达式2,左右表达式必须是boolean类型的结果。两个表达式都为真,结果才为真
||:
语法规则:表达式1 || 表达式2,左右表达式必须是boolean类型的结果。两个表达式至少有一个为真那么结果就为真。
! :
语法规则:! 表达式。真变假,假变真。

int a = 1;
int b = 2;
System.out.println(a == 1 && b == 1); //左为真 但 右为真假则结果为假
System.out.println(a == 1 || b == 1); //左为真 但 右为真假则结果为真
System.out.println(a != 1);//结果为假

接下来我们再看一段代码:

System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false
System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true

短路求值:
我们都知道, 计算 10 / 0 会导致程序抛出异常. 但是上面的代码却能正常运行, 说明 10 / 0 并没有真正被求值。对于 && , 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算右侧表达式。对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式。& 和 | 如果表达式结果为 boolean 时, 也表示逻辑运算. 但与 && || 相比, 它们不支持短路求值。

8.5移位运算符

移位运算符有三个: << >> >>> ,都是二元运算符,且都是按照二进制比特位来运算的。
左移<<:
最左侧不要,最右侧补0

int a=10;
System.out.printf("%d\n", a << 1)//输出结果为20

右移>>:
最右侧位不要了, 最左侧补符号位(正数补0, 负数补)

int a=-10;
System.out.printf("%d\n", a >>1)//输出结果为-5

无符号右移>>>:
最右侧位不要了, 最左侧补 0

int a=-10;
System.out.printf("%d\n", a >>>1)//输出结果为2147483643
  1. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
  2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
  3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
  4. 移动负数位或者移位位数过大都没有意义.

8.6条件运算符

格式:表达式1?表达式2:表达式3
表达式1为布尔类型,如果为真,返回表达式2,否则返回表达式3

int a = 10;
int b = 20;
int c=a>b?a:b//表达式不能单独存在,其产生的结果必须要被使用。不能写成a>b?a:b

9.总结

这篇文章主要介绍了Java最基础的知识包括:注释,标识符,数据类型,变量,常量,各种运算符等等。

下期预告:分支与循环

版权声明:本文为博主作者:PU-YUHAN原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/weixin_69049913/article/details/136765348

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2024年4月1日
下一篇 2024年4月1日

相关推荐