1.常量:
- 整型:整数,4个字节。
- 长整型:整数,8个字节。以L结尾。
- 单精度浮点数:小数,4个字节。以F结尾。
- 双精度浮点数:小数,8个字节。
- 布尔:只有两个值,真(true)或假(false),1个字节。
- 字符:单个字符,2个字节。例如:'a', '中', '5', '\u0026' , '\u0027'
在字符常量中,斜杠(\)是一个特殊的字符,它的作用是用来转义后面一个字符,这些字符通常是不可见的或者有特殊意义的。
'\r' 回车,回到一行的开始
'\n' 换行,换到下一行
'\t' 制表符,键盘上的Tab
'\b' 类似退格,键盘上的Backspace
以上字符都不可见,无法直接表示,所以用斜杠加上另外一个字符来表示。
'\'' 单引号,Java代码中单引号表示字符的开始和结束,如果直接写程序会认为前两个是一对,报错。
'\"' 双引号,Java代码中双引号表示字符串的开始和结尾,如果要写一个包含双引号的字符串那么这个双引号也需要转义。
'\\' 斜杠,Java代码中的斜杠是转义字符,用来和后面一个字符配合使用,在真正需要用斜杠的时候那么就要用另一个斜杠来转义。
以上字符都有特殊意义,无法直接表示,所以用斜杠加上另外一个字符来表示。
- 字符串:由若干个字符组成的一串。可以是一个字符、多个字符、或者一个都没有。字符串没有固定大小。
- 空:null,只有这一个值,用来表示一个引用为空
2.变量
int x = 5;
System.out.println(x);
x = 1 + 1;
System.out.println(x);
x = x + 1;
System.out.println(x);
上面的x就是一个变量,变量没有固定的值,是在内存中开辟的一片空间。
Java中的变量中只能存储同一种类型的值。
变量在被取值之前必须初始化(第一次给变量赋值)。
- 变量分类
a.基本数据类型: 8种
整数:
byte 1个字节,最小值:-128,最大值:127
short 2个字节,最小值:-32768,最大值:32767
int 4个字节,最小值:-2147483648,最大值:2147483647
long 8个字节,最小值:- 9223372036854775808,最大值:9223372036854775807
浮点数:
float 4个字节,最小值:1.4E-45,最大值:3.4028235E38
double 8个字节,最小值:4.9E-324,最大值:1.7976931348623157E308
字符:
char 2个字节,最小值:0,最大值:65535
布尔:
boolean 1个字节,true或false
b.引用数据类型:
类、接口、数组都是引用数据类型,除了8种基本数据类型,其他所有类型都是引用数据类型
- 类型转化
a. 自动类型转换
在byte、short、char参与运算的时候会自动提升为int,相当于将一个占空间较小的值放入了一个较大的空间。
b. 强制类型转换
可以将一个占空间较大的值使用(类型)的形式强制放入一个较小的空间,有可能损失精度。
c. 字符串转换
任何值和字符串相加都会得到字符串。【也相当于自动类型转换,自动转换为字符串】
- 变量的作用域与生命周期
作用域:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
【两个同名变量在同一作用域中会产生冲突,使得调用的地方不知道要使用哪一个】
生命周期:变量的生命周期从定义时开始,超出作用域后结束。变量生命周期以外不能使用。
【也就是说执行过程从该作用域执行结束之后,变量的生命周期结束。通俗的讲就是:大括号中定义的变量,在大括号之外不用调用】