Java Math(Java 数学公式)
在Java里,为了方便开发,提供了一套数学公式常用计算方法!我们只管调用,至于内部实现都被封装在里面! 比如常用的最大值,最小值,取绝对值,还有四舍五入等常用数学运算!这几个在开发过程会经常用到!
Java 算术计算
- Math.sqrt() : 计算平方根
- Math.cbrt() : 计算立方根
- Math.pow(a, b) : 计算a的b次方
- Math.max( , ) : 计算最大值
- Math.min( , ) : 计算最小值
- Math.abs() : 取绝对值
public class Test
{
public static void main(String[] args) {
System.out.println("sqrt 计算平方根 => " + Math.sqrt(81));
System.out.println("cbrt 计算立方根 => " + Math.cbrt(2));
System.out.println("pow, 计算a的b次方 => " + Math.pow(3, 2));
System.out.println("max求最大值 => " + Math.max(6, 8));
System.out.println("min求最小数 => " + Math.min(2.3, 4.5));
System.out.println("abs求绝对值 " + Math.abs(-33));
System.out.println("abs求绝对值 " +Math.abs(66));
}
}
运算结果为
sqrt 计算平方根 => 9.0
cbrt 计算立方根 => 1.2599210498948732
pow, 计算a的b次方 => 9.0
max求最大值 => 8
min求最小数 => 2.3
abs求绝对值 33
abs求绝对值 66
Java 进位
- Math.ceil(): 逢余进一
- Math.floor() : 逢余舍一
- Math.rint(): 四舍五入,返回double值。注意.5的时候会取偶数
- Math.round(): 四舍五入,float时返回int值,double时返回long值
public class Test
{
public static void main(String[] args) {
System.out.println("30.3 逢余进一 => " + Math.ceil(30.3)); // -10.0
System.out.println("21.5 逢余舍一 => " + Math.floor(21.5)); // -11.0
System.out.println("10.5 四舍五入(返回double值。注意.5的时候会取偶数) => " + Math.rint(10.5)); // 10.0
System.out.println("-10.5 四舍五入(float时返回int值,double时返回long值) =>" + Math.round(-10.5)); // 10
}
}
运算结果为
30.3 逢余进一 => 31.0
21.5 逢余舍一 => 21.0
10.5 四舍五入(返回double值。注意.5的时候会取偶数) => 10.0
-10.5 四舍五入(float时返回int值,double时返回long值) =>-10
Java Math 类提供的方法
static double |
abs(double a)
返回 double 值的绝对值。 |
---|---|
static float |
abs(float a)
返回 float 值的绝对值。 |
static int |
abs(int a)
返回 int 值的绝对值。 |
static long |
abs(long a)
返回 long 值的绝对值。 |
static double |
acos(double a)
返回一个值的反余弦;返回的角度范围在 0.0 到 pi 之间。 |
static double |
asin(double a)
返回一个值的反正弦;返回的角度范围在 -pi/2 到 pi/2 之间。 |
static double |
atan(double a)
返回一个值的反正切;返回的角度范围在 -pi/2 到 pi/2 之间。 |
static double |
atan2(double y, double x)
将矩形坐标 (x, y) 转换成极坐标 (r, theta),返回所得角 theta。 |
static double |
cbrt(double a)
返回 double 值的立方根。 |
static double |
ceil(double a)
返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。 |
static double |
copySign(double magnitude, double sign)
返回带有第二个浮点参数符号的第一个浮点参数。 |
static float |
copySign(float magnitude, float sign)
返回带有第二个浮点参数符号的第一个浮点参数。 |
static double |
cos(double a)
返回角的三角余弦。 |
static double |
cosh(double x)
返回 double 值的双曲线余弦。 |
static double |
exp(double a)
返回欧拉数 e 的 double 次幂的值。 |
static double |
expm1(double x)
返回 ex -1。 |
static double |
floor(double a)
返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。 |
static int |
getExponent(double d)
返回 double 表示形式中使用的无偏指数。 |
static int |
getExponent(float f)
返回 float 表示形式中使用的无偏指数。 |
static double |
hypot(double x, double y)
返回 sqrt(x2 +y2),没有中间溢出或下溢。 |
static double |
IEEEremainder(double f1, double f2)
按照 IEEE 754 标准的规定,对两个参数进行余数运算。 |
static double |
log(double a)
返回 double 值的自然对数(底数是 e)。 |
static double |
log10(double a)
返回 double 值的底数为 10 的对数。 |
static double |
log1p(double x)
返回参数与 1 之和的自然对数。 |
static double |
max(double a, double b)
返回两个 double 值中较大的一个。 |
static float |
max(float a, float b)
返回两个 float 值中较大的一个。 |
static int |
max(int a, int b)
返回两个 int 值中较大的一个。 |
static long |
max(long a, long b)
返回两个 long 值中较大的一个。 |
static double |
min(double a, double b)
返回两个 double 值中较小的一个。 |
static float |
min(float a, float b)
返回两个 float 值中较小的一个。 |
static int |
min(int a, int b)
返回两个 int 值中较小的一个。 |
static long |
min(long a, long b)
返回两个 long 值中较小的一个。 |
static double |
nextAfter(double start, double direction)
返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。 |
static float |
nextAfter(float start, double direction)
返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。 |
static double |
nextUp(double d)
返回 d 和正无穷大之间与 d 相邻的浮点值。 |
static float |
nextUp(float f)
返回 f 和正无穷大之间与 f 相邻的浮点值。 |
static double |
pow(double a, double b)
返回第一个参数的第二个参数次幂的值。 |
static double |
random()
返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。 |
static double |
rint(double a)
返回最接近参数并等于某一整数的 double 值。 |
static long |
round(double a)
返回最接近参数的 long。 |
static int |
round(float a)
返回最接近参数的 int。 |
static double |
scalb(double d, int scaleFactor)
返回 d × 2scaleFactor,其舍入方式如同将一个正确舍入的浮点值乘以 double 值集合中的一个值。 |
static float |
scalb(float f, int scaleFactor)
返回 f × 2scaleFactor,其舍入方式如同将一个正确舍入的浮点值乘以 float 值集合中的一个值。 |
static double |
signum(double d)
返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 1.0;如果参数小于 0,则返回 -1.0。 |
static float |
signum(float f)
返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 1.0;如果参数小于 0,则返回 -1.0。 |
static double |
sin(double a)
返回角的三角正弦。 |
static double |
sinh(double x)
返回 double 值的双曲线正弦。 |
static double |
sqrt(double a)
返回正确舍入的 double 值的正平方根。 |
static double |
tan(double a)
返回角的三角正切。 |
static double |
tanh(double x)
返回 double 值的双曲线余弦。 |
static double |
toDegrees(double angrad)
将用弧度表示的角转换为近似相等的用角度表示的角。 |
static double |
toRadians(double angdeg)
将用角度表示的角转换为近似相等的用弧度表示的角。 |
static double |
ulp(double d)
返回参数的 ulp 大小。 |
static float |
ulp(float f)
返回参数的 ulp 大小。 |