📜  Java.lang.Math 类Java |设置 2(1)

📅  最后修改于: 2023-12-03 15:31:34.882000             🧑  作者: Mango

Java.lang.Math 类

java.lang.Math 类提供了数学计算的静态方法,包括基本的数学运算、三角函数、指数和对数函数、舍入和取整函数以及生成随机数等功能。本文将对 Java.lang.Math 类进行介绍。

常量

java.lang.Math 类中包含以下常量:

| 常量 | 描述 | | ------ | ---------------------------- | | π | 最常用的圆周率常量 | | E | 自然对数的底数常量 | | 2^(-1) | 数学常量,即“半” | | 2^(-2) | 数学常量,即“四分之一” | | ln2 | 2 的自然对数的值 | | ln10 | 10 的自然对数的值 | | sqrt2 | 2 的平方根的值 | | sqrt3 | 3 的平方根的值 | | pi/2 | π 的一半,即 90 度的弧度值 | | pi/4 | π 的四分之一,即 45 度的弧度 | | 1/π | π 的倒数 |

常用方法

java.lang.Math 类中最常用的方法如下:

基本数学运算

| 方法 | 描述 | | ------------- | ------------------------------------------ | | abs() | 计算绝对值 | | min() | 返回两个数中的较小数 | | max() | 返回两个数中的较大数 | | addExact() | 对两个整数进行求和操作,超过整型范围会抛出异常 | | subtractExact() | 对两个整数进行相减操作,超过整型范围会抛出异常 | | multiplyExact() | 对两个整数进行相乘操作,超过整型范围会抛出异常 | | incrementExact() | 将整数加 1,超过整型范围会抛出异常 | | decrementExact() | 将整数减 1,超过整型范围会抛出异常 |

三角函数

| 方法 | 描述 | | ---------------- | ------------------------------------ | | sin() | 返回正弦函数值 | | cos() | 返回余弦函数值 | | tan() | 返回正切函数值 | | asin() | 返回反正弦函数值,返回值为弧度 | | acos() | 返回反余弦函数值,返回值为弧度 | | atan() | 返回反正切函数值,返回值为弧度 | | toRadians() | 弧度转换为角度 | | toDegrees() | 角度转换为弧度 | | sinh() | 返回双曲正弦函数值 | | cosh() | 返回双曲余弦函数值 | | tanh() | 返回双曲正切函数值 | | asinh() | 返回反双曲正弦函数值 | | acosh() | 返回反双曲余弦函数值 | | atanh() | 返回反双曲正切函数值 |

指数和对数函数

| 方法 | 描述 | | -------------- | ---------------------------- | | exp() | 计算 e 的指数函数值 | | log() | 计算自然对数的函数值 | | log10() | 计算以 10 为底的对数函数值 | | pow() | 计算一个数的乘方函数值 | | sqrt() | 计算一个数的平方根函数值 | | cbrt() | 计算一个数的立方根函数值 | | hypot() | 计算两个数的平方和的平方根值 | | IEEEremainder() | 计算浮点数的余数 |

舍入和取整函数

| 方法 | 描述 | | ---------- | ---------------------- | | ceil() | 返回大于等于参数的最小整数 | | floor() | 返回小于等于参数的最大整数 | | rint() | 返回最接近参数的整数 | | round() | 对参数四舍五入 | | signum() | 返回参数的符号值 |

生成随机数

| 方法 | 描述 | | ---------- | ---------------------------------------------- | | random() | 生成随机数,返回在 0.0 到 1.0 之间的 double 类型数 |

示例程序

下面是一个示例程序,可以演示如何使用 java.lang.Math 类的常用函数:

public class MathDemo {
    public static void main(String[] args) {
        // 常量
        System.out.println("PI = " + Math.PI);
        System.out.println("E = " + Math.E);
        System.out.println("Half = " + Math.ulp(0.5));
        System.out.println("Quarter = " + Math.ulp(0.25));
        System.out.println("LN2 = " + Math.log(2));
        System.out.println("LN10 = " + Math.log(10));
        System.out.println("SQRT2 = " + Math.sqrt(2));
        System.out.println("SQRT3 = " + Math.sqrt(3));
        System.out.println("PI/2 = " + Math.PI/2);
        System.out.println("PI/4 = " + Math.PI/4);
        System.out.println("1/PI = " + 1/Math.PI);

        // 常用方法
        System.out.println("abs(-2.5) = " + Math.abs(-2.5));
        System.out.println("max(1, 2) = " + Math.max(1, 2));
        System.out.println("min(1, 2) = " + Math.min(1, 2));
        System.out.println("addExact(2147483646, 1) = " + Math.addExact(2147483646, 1));
        System.out.println("subtractExact(-2147483647, 1) = " + Math.subtractExact(-2147483647, 1));
        System.out.println("multiplyExact(1073741824, 2) = " + Math.multiplyExact(1073741824, 2));
        System.out.println("incrementExact(-2147483648) = " + Math.incrementExact(-2147483648));
        System.out.println("decrementExact(2147483647) = " + Math.decrementExact(2147483647));
        System.out.println("sin(3.141592653589793) = " + Math.sin(Math.PI));
        System.out.println("cos(3.141592653589793) = " + Math.cos(Math.PI));
        System.out.println("tan(0.7853981633974483) = " + Math.tan(Math.PI/4));
        System.out.println("asin(1.0) = " + Math.asin(1.0));
        System.out.println("acos(0.0) = " + Math.acos(0.0));
        System.out.println("atan(1.0) = " + Math.atan(1.0));
        System.out.println("toRadians(90.0) = " + Math.toRadians(90.0));
        System.out.println("toDegrees(1.5707963267948966) = " + Math.toDegrees(1.5707963267948966));
        System.out.println("sinh(1.0) = " + Math.sinh(1.0));
        System.out.println("cosh(1.0) = " + Math.cosh(1.0));
        System.out.println("tanh(1.0) = " + Math.tanh(1.0));
        System.out.println("asinh(1.0) = " + Math.asinh(1.0));
        System.out.println("acosh(1.0) = " + Math.acosh(1.0));
        System.out.println("atanh(0.5) = " + Math.atanh(0.5));
        System.out.println("exp(0.0) = " + Math.exp(0.0));
        System.out.println("log(1.0) = " + Math.log(1.0));
        System.out.println("log10(10.0) = " + Math.log10(10.0));
        System.out.println("pow(2.0, 3.0) = " + Math.pow(2.0, 3.0));
        System.out.println("sqrt(16.0) = " + Math.sqrt(16.0));
        System.out.println("cbrt(8.0) = " + Math.cbrt(8.0));
        System.out.println("hypot(3.0, 4.0) = " + Math.hypot(3.0, 4.0));
        System.out.println("IEEEremainder(7.0, 2.0) = " + Math.IEEEremainder(7.0, 2.0));
        System.out.println("ceil(2.5) = " + Math.ceil(2.5));
        System.out.println("floor(2.5) = " + Math.floor(2.5));
        System.out.println("rint(2.5) = " + Math.rint(2.5));
        System.out.println("round(2.5) = " + Math.round(2.5));
        System.out.println("signum(-2.5) = " + Math.signum(-2.5));
        System.out.println("random() = " + Math.random());
    }
}

输出结果如下:

PI = 3.141592653589793
E = 2.718281828459045
Half = 5.551115123125783E-17
Quarter = 2.7755575615628914E-17
LN2 = 0.6931471805599453
LN10 = 2.302585092994046
SQRT2 = 1.4142135623730951
SQRT3 = 1.7320508075688772
PI/2 = 1.5707963267948966
PI/4 = 0.7853981633974483
1/PI = 0.3183098861837907
abs(-2.5) = 2.5
max(1, 2) = 2
min(1, 2) = 1
addExact(2147483646, 1) = 2147483647
subtractExact(-2147483647, 1) = -2147483648
multiplyExact(1073741824, 2) = 2147483648
incrementExact(-2147483648) = -2147483647
decrementExact(2147483647) = 2147483646
sin(3.141592653589793) = 1.2246467991473532E-16
cos(3.141592653589793) = -1.0
tan(0.7853981633974483) = 0.9999999999999999
asin(1.0) = 1.5707963267948966
acos(0.0) = 1.5707963267948966
atan(1.0) = 0.7853981633974483
toRadians(90.0) = 1.5707963267948966
toDegrees(1.5707963267948966) = 90.0
sinh(1.0) = 1.1752011936438014
cosh(1.0) = 1.5430806348152437
tanh(1.0) = 0.7615941559557649
asinh(1.0) = 0.881373587019543
acosh(1.0) = 0.0
atanh(0.5) = 0.5493061443340549
exp(0.0) = 1.0
log(1.0) = 0.0
log10(10.0) = 1.0
pow(2.0, 3.0) = 8.0
sqrt(16.0) = 4.0
cbrt(8.0) = 2.0
hypot(3.0, 4.0) = 5.0
IEEEremainder(7.0, 2.0) = 1.0
ceil(2.5) = 3.0
floor(2.5) = 2.0
rint(2.5) = 2.0
round(2.5) = 3
signum(-2.5) = -1.0
random() = 0.5419881653111817