Java基础数据类型
Java基础数据类型的4类8种
基本数据类型也称作简单数据类型。Java语言有8种基本数据类型,分别是boolean、byte、short、int、long、float、double和char。
这8种可以分为4大类:
-
整数类型:byte、short、int、long;
-
浮点类型:float、double;
-
逻辑类型:boolean;
-
字符类型:char。
整数类型
Java各数据类型有固定的表数范围和字段长度,其不受操作系统影响,保证了Java的可移植性。
类型 | 占存储空间 | 表数范围 |
byte | 1字节 | -128~127 |
short | 2字节 | 215~215-1 |
int | 4字节 | 231~231-1 |
long | 8字节 | 263~263-1 |
表格中byte为27-1,1个字节8位,包含一个符号位所以是7次方,-1是因为包含0。
整型常量的三种表示形式:
- 十进制数,如:12,-555,0;
- 八进制数,要求以0开头,如:012;
- 十六进制数,要求以0x或者0X开头,如:0x12。
Java语言的整型常量默认是int类型,声明long类型时需要在结尾加l或者L:
long l1 = 8L;//结尾必须加L或者l
浮点类型
Java浮点类型有固定的表数范围和字段长度,其不受操作系统影响,保证了Java的可移植性。
类型 | 占存储空间 | 表数范围 |
float | 4字节 | -3.403E38~3.403E38 |
double | 8字节 | -17.98E308~17.98E308 |
浮点数在现实中是连续的,在计算机数据结构中是离散的,计算机内部表示浮点数是有误差的。
- float保留8位有效数字,小数点后前7位是精确的;
- double保留16位有效数字,小数点后15位是精确的。
浮点型常量的三种表示形式:
- 十进制形式,如:3.14,314.0,.314;
- 科学计数法形式,如:3.14e2,3.24E2,100E-2。
Java语言的浮点型常量默认是double类型,声明float类型时需要在结尾加f或者F:
float f = 1.03f;//结尾必须加F或者f
逻辑类型
boolean类型数据只允许取值true或false,不能用0或者非0整数代替true和false。
boolean的内存占用大小的问题,出于好奇去网上找了找相关资料:
This data type represents one bit of information(这种数据类型代表一个比特的信息)
its "size" isn't something that's precisely defined.(它的大小没有明确界定)
即使一个bit 就能用,最小的内存寻址单元就是byte,所以占用一个byte。
字符类型
对于char类型变量表示通常意义上的字符,内存中分配给2个字节,占16位。char类型变量的取值范围是0~65535。Java采用Unicode编码,因而可以使用16进制编码形式表示。
char character = '\u0061'; System.out.println(character);
输出结果:a