Java数据类型
程序员文章站
2022-07-15 13:38:41
...
注意
- 在Java中,整型的范围与运行Java代码的机器平台无关。
- Java中没有任何无符号形式的 byte|short|int|long 类型。
- Java语言中整型和布尔型之间不能进行相互转化。
关于浮点数的几点说明:
- 所有的浮点数值计算都遵循 IEEE 754 规范。具体来说,下面是用于表示溢出和出错情况的三个特殊的浮点数值:
正无穷大 POSITIVE_INFINITY
负无穷大 NEGATIVE_INFINITY
不是一个数 NaN (not a number) - 检测一个数是否等于 NaN 的方法:
而不是if (Dounle.isNaN(x)) // check whether x is NaN
if (x == Double.NaN)
- 浮点数值不适合用于无法接受舍入误差的金融计算中。例如,
System.out.println(2.0 - 1.1);
将打印出0.8999999999999999
而不是预想中的0.9
。这种舍入误差主要是由于浮点数值采用二进制系统表示,而在二进制系统中,就像十进制中无法精确表示1/3
一样,无法精确地表示分数1/10
。如果在浮点运算中不允许任何舍入误差,就应该使用BigDecimal
类。