JAVA数据类型分基本数据类型和引用数据类型。
1 基本数据类型
Java里面包含8个基本数据类型,分别是:
boolean、byte、char、short、int、float、douboe、long
1.1 byte 字节
byte是JAVA中最小的数据类型,它在内存中占8位(8个bit),取值范围从-128到127
赋值:byte I = 127
1.2 short 短整型
short类型在内存中占2个字节,取值范围从 -32768到32767
赋值:short i = 32767;
1.3 char 字符型
char类型在内存中占2个字节。表示一个字符,也可以使用ASCII码范围内的值来给char型的变量赋值。由于字符在内存中的取值不存在负数范围,所有取值范围从0 到 65535
赋值:char i = ‘a’; 或者 char i = 97;
1.4 int 整型
int型在内存中占4个字节。取值范围从 -2147483648 到 2147483647
赋值:int i = 10;
1.5 float 单精度浮点型
float型在内存中占4个字节。取值范围从 -3.4E38 到 3.4E38
赋值:float i = 1.0f;
1.6 long 长整型
long型在内存中占8个字节。取值范围从 -9223372036854775808 到 9223372036854775807
1.7 double 双精度浮点型
double 型在内存中占8个字节。取值范围从 -1.7E308 到 1.7E308
1.8 boolean 布尔型
boolean类型只有两个值:true和false。
2 基本数据类型的相互转换
2.1 转型规则
1、 JAVA中所有的数字变量都是有符号(正负)的。
2、 JAVA不允许类型的随意转换。只有数字变量可以进行转换,但是不能随意。
3、 带有小数点的数字变量默认都为double型。定义float型必须进行强制类型转换。
4、 所占字节数小的数字型变量赋值给所占字节数比它大的类型时不用强制类型转换,此时是自动转型。
5、 int型变量赋值给char型变量时,JVM会以int型变量值到ASCII码表中查找出所对应的字符,再赋值给char型变量。反之也是。但是遵循第4条规则。
6、 初始化简单数据类型时要注意赋值的范围,超出则会产生编译错误。
2.2 基本数据类型默认初值
类型 | 初始值 |
boolean | false |
byte | 0 |
char | 0 |
short | 0 |
int | 0 |
float | 0.0 |
double | 0.0 |
long | 0 |
基本数据类型默认初值表
3 引用数据类型
JAVA中,非简单数据类型的类型都是引用数据类型。
看如下代码:
分析这个例子,看红色横线代码。
第1行,我们声明了一个引用数据类型的变量,但是这个时候,只在内存中开辟了一个空间存放这个变量。而这个变量此时没有任何指向。
第2行,我们实例化了一个对象,这个时候在内存中开辟了一片空间存放这个对象,并让之前声明的引用数据类型变量指向了这个内存空间的首地址。