0x01:常用数据类型
JAVA中有八种基本类型
- 对于整数有4种类型:byte, short, int, long
- 浮点数类型类型: float, double
- 字符类型: char
- 布尔: 返回 true 或 false 值 (true 或 false)
0x02:变量
-
标识符:
标识符可以简单的理解为一个名字,用来标识类名,变量名,方法名,数组名,文件名的有效字符序列。
java语言规定标识符由任意顺序的字母
,数字
,下划线
,美元符号
组成,并且第一个字符不能是数字,标识符不能是java中保留的关键字。 -
关键字:关键字是语言中已被赋予特定意义的一些单词,比如
int
,public
,void
,static
等,不可以把关键字作为标识符使用。与C和C++类似,在定义一个变量前,要先声明它的类型。
定义变量,就是告诉编译器这个变量的数据类型,并在内存中开辟空间,变量名就指向这个内存空间,变量值就放在这个内存空间中
-
整型:对于整型类型,Java只定义了带符号的整型,因此,最高位的bit表示符号位(0表示正数,1表示负数)。各种整型能表示的最大范围如下:
int i = 2147483647; int i2 = -2147483648; int i3 = 2_000_000_000; // 加下划线更容易识别 int i4 = 0xff0000; // 十六进制表示的16711680 int i5 = 0b1000000000; // 二进制表示的512 long l = 9000000000000000000L; // long型的结尾需要加
-
浮点型:浮点类型的数就是小数,因为小数用科学计数法表示的时候,小数点是可以“浮动”的,如1234.5可以表示成12.345x102,也可以表示成1.2345x103,所以称为浮点数。
float f1 = 3.14f; float f2 = 3.14e38f; // 科学计数法表示的3.14x10^38 double d = 1.79e308; double d2 = -1.79e308; double d3 = 4.9e-324; // 科学计数法表示的4.9x10^-324
-
布尔类型:布尔类型boolean只有true和false两个值,除了直接赋值外,布尔类型也总是关系运算的计算结果,另外,为空的数组也是false,如下
boolean b1 = true; boolean b2 = false; boolean isGreater = 5 > 3; // 计算结果为true boolean isAdult = 12 >= 18; // 计算结果为false
-
字符类型:字符类型char表示一个字符。Java的char类型除了可表示标准的ASCII外,还可以表示一个Unicode字符:
public class Main { public static void main(String[] args) { char a = 'A'; char zh = '中'; System.out.println(a); System.out.println(zh); } }
注意char类型使用单引号',且仅有一个字符,要和双引号"的字符串类型区分开。
0x03:常量
-
常量:定义变量的时候,如果加上final修饰符,这个变量就变成了常量:
final double PI = 3.14; // PI是一个常量
常量与变量的区别是,常量在定义时进行初始化后就不可再次赋值,再次赋值会导致编译错误。常量的作用是用有意义的变量名来避免魔术数字(Magic number),例如,不要在代码中到处写3.14,而是定义一个常量。如果将来需要提高计算精度,我们只需要在常量的定义处修改,例如,改成3.1416,而不必在所有地方替换3.14。根据习惯,常量名通常全部大写。
public class first_demo { public static void main(String[] args){ final int number; number = 123; //number = 456; //错误代码,因为number为常量,只能进行一次赋值 System.out.println(number); } }
0x04:变量的有效范围
变量被定义出来之后,只是暂存在内存中,等到程序执行到某一点,该变量就会被释放掉,也就是说变量有它的生命周期。在程序中,一般会根据变量的有效范围,将变量分为成员变量
和局部变量
。
- 成员变量:在类体中所定义的变量被称为成员变量,成员变量在整个类中都有效。
- 局部变量:在类的方法中定义的变量成为局部变量,局部变量只在当前代码块中有效。
0x05:运算符
- 赋值运算符:
=
- 算术运算符:加
+
减-
乘*
除/
求余%
持续更新ing。。。
欢迎大佬们随时指正。。
不积跬步无以至千里。