2.2.2 基本数据类型
对于一般的的对象,new将对象存储在“堆”里,故用new创建一个对象———特别小的、简单的变量,往往不是很有效。因此,对于这些类型,Java采取与C和C++相同的方法,不使用new来创建,并存储在堆栈中。
Java要确定每种基本类型所占存储空间的大小。(大小不随机器硬件构架的变化而变化)。
基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 |
boolean | - | - | Boolean | |
char | 16 bits | Unicode o | Character | |
byte | 8 bits | -128 | Byte | |
short | 16 bits | -2^15 | Short | |
int | 32 bits | -2^31 | Integer | |
long | 64 bits | -2^63 | Long | |
float | 32 bits | IEEE754 | Float | |
double | 64 bits | IEEE754 | Double | |
void | - | - | - | Void |
3.16 Java中没有sizeof
在C和C++中,sizeof()操作符可以告诉你为数据项分配的字节数。在C、C++中使用sizeof()操作符的最大原因是为了“移植”。不同的数据类型在不同的机器上可能有不同的大小,所以进行了一些与存储有关的运算时,程序猿必须获悉那些类型具体有多大。
但是在Java中,所有数据类型在所有机器中的大小是相同的。我们没有必要考虑移植问题。