1. Java 基本数据类型
Java 基本数据类型包括如下类型,整型:char、byte、short、int、long;浮点型:float、double; 布尔型:boolean;具体描述如下表所示(一个字节8位)。
整型:char、bit、short、int、long | ||
类型名 | 描述 | 范围 |
char | 用来表示字符,16位,无符号整型。 | 0~65535 |
byte | 8位(一个字节8位),有符号整型。 | -128~127 |
short | 16位,有符号整型。 | -32768~32767 |
int | 32位,有符号整型。 | -2147483648~2147483647 |
long | 64位,有符号整型。 | -9223372036854775808~ 9223372036854775807 |
浮点型:float、double | ||
类型名 | 描述 | 范围 |
float | 32位,精度约6~7位 | 绝对值范围:1.4E-45 ~ 3.4E+38 |
double | 64位,精度约15位 | 绝对值范围:1.798E-324 ~ 4.941E+378 |
布尔型:boolean | ||
类型名 | 描述 | 范围 |
boolean | 真为 true, 假为 false | 只有真和假两种情况 |
2. Java中boolean类型占用多少个字节
布尔类型单个用为32位,数组中为 8 位。
布尔类型:布尔数据类型只有两个可能的值:真和假。使用此数据类型为跟踪真/假条件的简单标记。这种数据类型就表示这一点信息,但是它的“大小”并不是精确定义的。
boolean类型没有给出精确的定义,《Java虚拟机规范》给出了4个字节,和boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的。这其实是运算效率和存储空间之间的博弈,两者都非常的重要。
为什么是至少一个字节?
答:计算机处理数据的最小单位是1个字节,1个字节等于8位。
为什么要有四个字节?
答:对于当下32位的处理器(CPU)来说,一次处理数据是32位(这里不是指的是32/64位系统,而是指CPU硬件层面),具有高效存取的特点。
参考文献
- https://www.jianshu.com/p/2f663dc820d0