Java的两大数据类型:内置数据类型(基本类型)、引用数据类型。
Java的基本类型,采用的C和C++相同的方法,不用new来创建变量,而是创建一个并非是引用的“自动”变量。这个变量直接存储“值”,并置于堆栈中,因为会更加高效。
Java要确定每种基本类型所占的存储空间的大小。它们的大小并不像其他语言那样随机器赢家架构的变化而变化。这种所占存储空间大小的不变性是Java程序比用其他语言编写的程序更具备可移植性的原因之一。
基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 |
boolean | — | — | — | Boolean |
char | 16-bit | Unicode 0 |
Unicode 216-1 |
Character |
byte | 8 bits | -128 | +127 | Byte |
short | 16 bits | -215 | +215-1 | Short |
int | 32 bits | -231 |
+231-1 | Integer |
long | 64 bits | -263 | +263-1 | Long |
float | 32 bits | IEEE754 | IEEE754 | Float |
double | 64 bits | IEEE754 | IEEE754 | Double |
注:
(1)所有数值都有正负号,所以不要去寻找无符号的数值类型;
(2)boolean类型所占的存储空间大小没有明确指定,仅定义为能够取字面值true或false,boolean values are manipulated as 32-bit entities, but arrays of booleans use 1 byte per element;
(3)IEEE754,参考wiki;