简介
计算一个数字的平方根是我们在计算机科学中经常做的操作之一。这个简单的数学函数在编程的各个领域都有应用--无论是在算法中还是在我们想要表达的任何其他数学模型中,我们都很可能以某种方式使用平方根。
我们有很多方法可以在Java中计算一个数字的平方根,但本文的主要话题是
Math类中的sqrt()方法。
Java 8中的数学类
Math 类包含执行各种基本数字运算的方法,如对数、平方根、最小和最大、三角函数等。然而,如前所述,本文的主题是该类中实现的sqrt() 方法。sqrt() 方法的语法如下。
public static double sqrt(double a)
这是一个非常简单的方法,接收一个double ,同时返回一个double 。该方法本身返回一个double 值的正确四舍五入的正平方根。然而,在使用这个方法时,有一些特殊情况需要我们注意。
- 如果参数是
NaN或小于0,那么结果是NaN。 - 如果参数是正无穷大,那么结果就是正无穷大。
- 如果参数是负无穷大,那么结果是
NaN。 - 如果参数是正的
0,或者是负的0,那么结果与给出的参数相同。
否则,结果是最接近于参数值的真正数学平方根的double 。这个方法真的没有什么好讨论的了,所以我们可以直接跳到一个例子。
double positiveNumberSqrt = Math.sqrt(137.4); //11.721774609674084
double negativeNumberSqrt = Math.sqrt(-137.4); // NaN
double invalidValueSqrt = Math.sqrt(0.0/0.0); // NaN
double positiveInfSqrt = Math.sqrt(Double.POSITIVE_INFINITY); // Infinity
double negativeInfSqrt = Math.sqrt(Double.NEGATIVE_INFINITY); // NaN
double positiveZeroSqrt = Math.sqrt(0.0); // 0.0
double negativeZeroSqrt = Math.sqrt(-0.0); // -0.0
结论
正如你在这篇短文中所看到的,我们用Math.sqrt() 方法来展示在Java中寻找一个数字的平方根是多么简单。当然,这并不是在Java中寻找一个数字的平方根的唯一方法,但它肯定是最优雅和最简单的方法。我们还讨论了一下Math 类,它也充满了各种数学函数,当涉及到数学相关概念时,可以满足我们大部分的需求。