Java核心技术速学版(第3版)
上QQ阅读APP看书,第一时间看更新

1.4.3 数学方法

在Java中,没有运算符能够实现幂运算。因此需要调用Math.pow()方法来实现:Math.pow(x, y) 将得到xy。如果要计算x的平方根,则需要调用Math.sqrt(x)。这些方法都是静态方法,因此与static常量一样,只需要在方法前添加类名,并不需要通过对象来调用这些方法。

此外,比较常用的还有Math.min()和Math.max()方法,可用于计算两个值的最小值和最大值。

此外,Math类还提供了三角函数、对数函数,还有常量Math.PI和常量Math.E。

注意:Math类提供了几种方法以确保整数的算术运算更安全。当计算溢出时,算术运算符会悄悄返回一个错误的结果。例如,10亿乘以3(1000000000 * 3)计算得到的结果为−1294967296,这是因为最大的int值恰好刚刚超过20亿。如果你调用Math.multiplyExact(1000000000, 3),那么将会产生一个异常。你可以捕获该异常,或者让程序终止,而不是使用错误的计算结果,并让程序继续运行。此外,还有addExact、subtractExact、incrementExact、decrementExact、negateExact等方法,它们都使用int和long作为参数。

在其他类中也有一些数学方法。例如,Integer类和Long类中有compareUnsigned、divideUnsigned和 remainderUnsigned方法来处理无符号数。