Java与Android移动应用开发:技术、方法与实践
上QQ阅读APP看书,第一时间看更新

2.6 浮点数

代码中,浮点数是指可以处理小数部分的数据类型。在Java中,有两个浮点数类型可以使用,分别是double和float类型。

double类型表示双精度浮点数(64位)。代码中,含有小数部分的数据时,默认类型就是double。如果需要明确指定数据是double类型,可以使用d或D后缀,如1D就表示double类型的数值1。

float类型表示单精度浮点数(32位)。直接量使用f或F后缀,如1.0F、99f。

与整数一样,浮点数同样可以进行算术运算、增量和减量,但不能进行位运算。

当浮点数和整数混合运算时,可以遵循一个基本原则:先将取值范围小的类型转换为取值范围大的类型,然后运算,运算结果就是取值范围较大的类型。

下面的代码演示了double与int类型数据的运算。

代码的执行结果如图2-16所示。

从图2-16中可以看到,当double和int类型的数据进行运算时,其最终结果都是double类型。

此外,浮点数的除法运算和取余运算中,如x/y和x%y运算中,如果y为0,代码是不会产生错误的,而是分别产生Infinity值和NaN值。其中,Infinity表示一个无穷数,而NaN则表示不是一个数字(Not a Number)。图2-17中显示了这一运算结果。

图2-16 不同类型数据的混合运算

图2-17 浮点数的除零运算