java的基本数据类型简介
当我们定义一个变量时,其实就是在内存中开辟了一个内存空间。但电脑内存空间有限,所以需要我们合理定义开辟空间,为了方便人们定义适当大小的内存空间,java提供给程序员不同的数据类型。
java中数据类型分为两大类:1、基本数据类型(数值型,字符型,布尔型)。 2、引用数据类型(数组,类,接口)。如图
这里我们介绍一下其中的基本数据类型:
1、: 数值型
整数型
整数型 | 字节数 | 范围 |
---|---|---|
byte | 1(8bit) | -128 ~ 127 |
short | 2(16bit) | -2^15 ~ 2^15 - 1 |
short | 2(16bit) | -2^15 ~ 2^15 - 1 |
int | 4(32bit) | -2^31 ~ 2^31 - 1 |
long | 8(64bit) | -2^63 ~ 2^63 - 1 |
以“byte”为例,byte字节数为8bit,即一个byte类型包含8个二进制位,共能表示 2^8
个数。java规定其二进制最高位为正负位,即1开头表示负数,0表示正数,所以一个
byte的范围为-128~127。
例:byte a = 10;
如图
上图定义了一个byte类整型 a=10,10转换为二进制表示1010,因为一个byte有八位,所以我们还需在前面补三个零,又因为10是正数,所以最高符号位为0,转换为补码00001010存储在计算机中。
整数默认是int类型
浮点数 | 字节数 | 范围 |
---|---|---|
float | 4(32bit) | -3.40310^38 ~ 3.40310^38 |
double | 8(64bit) | -1.79810^308 ~ 1.79810^308 |
浮点数默认是 double类型
2、: 字符型
java中字符型char的字节数为2字节,原因是java采用Unicode编码(目前普遍采用UCS_2) ,Unicode编码从0到127的字符与ASCII编码的字符一样,又因为它用两个字节来编码一个字符,所以两个字节就是16位二进制, 2的16次方等于65536,所以UCS-2最多能编码65536个字符,其中包括了常用汉字。
3、: 布尔型
java的布尔型 boolean的字节数为1字节,取值包括true/false。