所占大小有小到大依次为:
类型 | 所占空间 | 取值范围 |
---|---|---|
byte | 1 Byte | -128 ~ 127 |
short | 2 Byte | -32768 ~ 32767 |
int | 4 Byte | -2147483648 ~ 2147483647(最大到10位,21亿) |
long | 8 Byte | -9223372036854775808 ~ 9223372036854775808(19位,922京) |
1_000_000
类型 | 所占空间 | 取值范围 |
---|---|---|
float | 4 Byte | +/- 3.402 823 47E+38F (有效位数6-7位) |
double | 8 Byte | +/- 1.797 693 134 862 315 70E+308 (有效位数15位) |
0x1.0p-3
这里尾数用16进制,指数采用十进制,指数的基数为2。 以上分别可以用Double.POSITIVE_INFINITY
、Double.NEGATIVE_INFINITY
和Double.NaN
来表示。
注意:
Double.isNaN(x)
的方法来检查。类型 | 所占空间 | 取值范围 |
---|---|---|
char | 2 Byte | \u0000 ~ \uFFFF |
注意:
在Java中,char描述的是所有Unicode中“基本的多语言级别”的所有字符。char类型描述了UTF-16编码中的一个代码单元。(即2个字节,直接映射Unicode从U+0000 ~ U+FFFF的中除代理区1之外的所有字符)。 此外作者强烈建议不要在Java程序中使用char类型,除非确实需要UTF-16代码单元,最好将字符串作为抽象数据类型处理。
boolean类型只有两个值:true和false,用于判定逻辑条件。整型和boolean之间不能相互转换。
注意:这里和C/C++的区别,C/C++中可以将整型的0视为false。