double表示这种类型的数值精度是float类型的两倍。绝大部分应用程序都采用double类型。在很多情况下,float类型的精度很难满足需求。事实上,只有很少的情况适合使用float类型,例如,需要单精度数据的库,或者需要存储大量数据。
float类型的数值有一个后缀F或f(如3.14F)。没有后缀F的浮点数值默认为double类型。
注释:可以使用十六进制表示浮点数值。例如,0.125=可以表示成0x1.0p-3。在十六进制表示法中,使用p表示指数,而不是e。注意,尾数采用16进制,指数采用10进制。指数的基数是2,而不是10。
警告:浮点数值不适用于无法接受舍入误差的金融计算中。例如,System.out.println(2.0-1.1)将打印输出0.8999999999999,而不是0.9。这种舍入误差的主要原因是浮点数值采用二进制系统表示,而在二进制系统中无法精确的表示分数1/10,这就像十进制无法精确的表示分数1/3一样。如果在数值计算中不允许有任何舍入误差,就应该使用BigDecimal类。