一、说明
类型名 | 范围 | 存储大小 |
---|---|---|
byte | -
2
7
~
2
7
−
1
2^7~2^7-1
27~27−1 即: (-128 ~ 127) | 8位带符号数 |
short | -
2
15
~
2
15
−
1
2^{15}~2^{15}-1
215~215−1 即:(-3 2768 ~ 3 2767) | 16位带符号数 |
int | -
2
31
~
2
31
−
1
2^{31}~2^{31}-1
231~231−1 即: (-21 4748 3648 ~ 21 4748 3647) | 32位带符号数 |
long | -
2
63
~
2
63
−
1
2^{63}~2^{63}-1
263~263−1 即: (-922 3372 0368 5477 5808) ~ 922 3372 0368 5477 5807 | 64位带符号数 |
float | 负数:-
3.4028235
E
+
38
~
3.4028235E+38~
3.4028235E+38~-
1.4
E
1.4E
1.4E-
45
45
45 正数: 1.4 E 1.4E 1.4E- 45 45 45~ 3.4028235 E + 38 3.4028235E+38 3.4028235E+38 | 32位,标准IEEE754 |
double | 负数:-
1.7976931348623157
E
+
308
~
1.7976931348623157E+308~
1.7976931348623157E+308~-
4.9
E
4.9E
4.9E-
324
324
324 正数: 4.9 E 4.9E 4.9E- 324 324 324~ 1.7976931348623157 E + 308 1.7976931348623157E+308 1.7976931348623157E+308 | 64位,标准IEEE754 |
二、类型转换
- byte、char、short、int、long类型为精确值
float、double类型为近似值
再int转float、double或long转double时会丢失精度,要注意
而且byte、short、int三者在计算时会转成int类型;
还有一个特殊的地方需要注意:
- 强制类型转换时可能会造成精度降低或数据溢出;
- boolean类型不能转换成任何数据类型;