目录
-
整型
类型 | 储存需求 | 取值范围 |
---|---|---|
int | 4字节 | -2 147 483 648 ~ 2 147 483 647(正好超过20亿,10位) |
long | 8字节 | -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807 (19位) |
short | 2字节 | -32 768 ~ 32 767 |
byte | 1字节 | -128 ~ 127 |
长整型数值有一个后缀L或l(4000000000L);
十六进制数值有一个前缀0x或0X(0xCAFE);
八进制有一个前缀0,例如010对应十进制中的8,八进制表示法比较容易混淆,所以建议最好不要使用八进制常数。
二进制有一个前缀0b或0B,例0b1001就是9
可以为数字字面量加下划线,如1_000_000 表示一百万
注意:1. 在Java中,所有的数据类型所占据的字节数量与平台无光
2. Java没有任何无符号(unsigned)形式的int、long、short或byte类
-
浮点型
类型 | 储存需求 | 取值范围 |
---|---|---|
float | 4字节 | 有效数位6 ~ 7位 |
double | 8字节 | 有效数位15位 |
float类型的数值有一个后缀F或f(例,3.14F),没有后缀F的浮点数值默认为double类型
-
char类型
char原本用于表示单个字符,不过有些Unicode字符需要两个char值,有关的详细信息日后补充。
-
boolean类型
boolean类型有两个值:false和true,整型值和布尔值之间不能进行相互转换。
if (x=0){ }
在C++中这个测试可以编译运行,且结果总是false。而在Java中,这个测试将不能通过编译,其原因是整数表达式x=0不能转换为布尔值。