常用类库-java.lang.Math

常用类库-java.lang.Math

简介

类名:public final class Math extends Object

类 Math 包含用于执行基本数字运算的方法,例如基本指数,对数,平方根和三角函数。Math 类不可以被继承,类中的方法都是静态方法,以 Math . 方法名 的形式调用。

常用字段

E

字段名:public static final double E

介绍:

e e e 在数学中为自然常数,它是自然对数函数的底数,其本身是一个无限不循环小数。此处 E 是 java 中一个最接近

该自然常数的数,且 E = 2.718281828459045

PI

字段名:public static final double PI

介绍:

p i pi pi 是一个数学常数,它表示圆周率,即圆的周长与直径的比值,其本身是一个无限不循环小数。此处 PI 是 java 中一个最接近该常数的数,且 PI = 3.141592653589793

常用方法

abs

方法名:

public static int abs(int a)

public static long abs(long a)

public static float abs(float a)

public static double abs(double a)

作用:

返回传入的参数 a 的绝对值。

特例:

int 中的最小值 Integer.MIN_VALUE 的绝对值不变。

long 中的最小值 Long.MIN_VALUE 的绝对值不变。

float 和 double 中正无穷和负无穷的绝对值是正无穷大,NaN 的绝对值是NaN。

使用案例:

public class MathTest {
    public static void main(String[] args) {
        System.out.println(1 + "  取绝对值  " + Math.abs(1));
        System.out.println(-1 + "  取绝对值  " + Math.abs(-1));
        System.out.println(0 + "  取绝对值  " + Math.abs(0));
        System.out.println(-0 + "  取绝对值  " + Math.abs(-0));
        System.out.println(Integer.MAX_VALUE + "  取绝对值  " + Math.abs(Integer.MAX_VALUE));
        System.out.println(Integer.MIN_VALUE + "  取绝对值  " + Math.abs(Integer.MIN_VALUE));
        System.out.println(Long.MAX_VALUE + "  取绝对值  " + Math.abs(Long.MAX_VALUE));
        System.out.println(Long.MIN_VALUE + "  取绝对值  " + Math.abs(Long.MIN_VALUE));
        System.out.println(Float.NaN + "  取绝对值  " + Math.abs(Float.NaN));
        System.out.println(Double.NaN + "  取绝对值  " + Math.abs(Double.NaN));
        System.out.println(Float.POSITIVE_INFINITY + "  取绝对值  " + Math.abs(Float.POSITIVE_INFINITY));
        System.out.println(Float.NEGATIVE_INFINITY + "  取绝对值  " + Math.abs(Float.NEGATIVE_INFINITY));
        System.out.println(Double.POSITIVE_INFINITY + "  取绝对值  " + Math.abs(Double.POSITIVE_INFINITY));
        System.out.println(Double.NEGATIVE_INFINITY + "  取绝对值  " + Math.abs(Double.NEGATIVE_INFINITY));
    }
}

在这里插入图片描述

max

方法名:

public static int max(int a, int b)

public static long max(long a, long b)

public static float max(float a, float b)

public static double max(double a, double b)

作用:

比较参数 a 与 b 的值,返回参数中较大的那一个数。任何数与 NaN 比较结果都是 NaN

min

方法名:

public static int min(int a, int b)

public static long min(long a, long b)

public static float min(float a, float b)

public static double min(double a, double b)

作用:

比较参数 a 与 b 的值,返回参数中较小的那一个数。任何数与 NaN 比较结果都是 NaN

ceil

方法名:public static double ceil(double a)

作用:

返回一个大于等于传入参数 a 的最小整数的 double 值。

特例:

  • 参数为整数时,返回值与参数相等。
  • 参数为 NaN 或无穷大或正负零时,返回值与参数相等。
  • 参数在区间 (-1 , 0) 内时,返回值为 -0.0

使用案例:

/**
 *@ClassName: CeilTest
 *@Description: ceil的使用
 *
 */
public class CeilTest {
    public static void main(String[] args) {
        System.out.println("2.1  取ceil  " + Math.ceil(2.1));
        System.out.println("2.0  取ceil  " + Math.ceil(2.0));
        System.out.println("-2.1  取ceil  " + Math.ceil(-2.1));
        System.out.println("-2.0  取ceil  " + Math.ceil(-2.0));
        System.out.println("-0.1  取ceil  " + Math.ceil(-0.1));
        System.out.println("-0.0  取ceil  " + Math.ceil(-0.0));
        System.out.println("0.0  取ceil  " + Math.ceil(0.0));
        System.out.println("NaN  取ceil  " + Math.ceil(Double.NaN));
        System.out.println("正无穷  取ceil  " + Math.ceil(Double.POSITIVE_INFINITY));
        System.out.println("负无穷  取ceil  " + Math.ceil(Double.NEGATIVE_INFINITY));
    }
}

在这里插入图片描述

floor

方法名:public static double floor(double a)

作用:

返回一个小于等于传入参数 a 的最大整数的 double 值。

特例:

  • 参数为整数时,返回值与参数相等。
  • 参数为 NaN 或无穷大或正负零时,返回值与参数相等。

使用案例:

/**
 *@ClassName: FloorTest
 *@Description: floor的使用
 *
 */
public class FloorTest {
    public static void main(String[] args) {
        System.out.println("2.1  取floor  " + Math.floor(2.1));
        System.out.println("2.0  取floor  " + Math.floor(2.0));
        System.out.println("-2.1  取floor  " + Math.floor(-2.1));
        System.out.println("-2.0  取floor  " + Math.floor(-2.0));
        System.out.println("-0.1  取floor  " + Math.floor(-0.1));
        System.out.println("-0.0  取floor  " + Math.floor(-0.0));
        System.out.println("0.0  取floor  " + Math.floor(0.0));
        System.out.println("NaN  取floor  " + Math.floor(Double.NaN));
        System.out.println("正无穷  取floor  " + Math.floor(Double.POSITIVE_INFINITY));
        System.out.println("负无穷  取floor  " + Math.floor(Double.NEGATIVE_INFINITY));
    }
}

在这里插入图片描述

rint

方法名:public static double rint(double a)

作用:

返回一个最接近传入参数 a 的整数的 double 值。当向上和向下取值一样接近时,取结果为偶数的取值,例如: 1.5 则取 2.0 、2.5 则取 2.0 、3.5 则取 4.0。

特例:

  • 参数为整数时,返回值与参数相等。
  • 参数为 NaN 或无穷大或正负零时,返回值与参数相等。

使用案例:

/**
 *@ClassName: RintTest
 *@Description: rint的使用
 *
 */
public class RintTest {
    public static void main(String[] args) {
        System.out.println("2.1  取rint  " + Math.rint(2.1));
        System.out.println("2.0  取rint  " + Math.rint(2.0));
        System.out.println("2.5  取rint  " + Math.rint(2.5));
        System.out.println("3.5  取rint  " + Math.rint(3.5));
        System.out.println("-0.5  取rint  " + Math.rint(-0.5));
        System.out.println("-1.5  取rint  " + Math.rint(-1.5));
        System.out.println("-0.1  取rint  " + Math.rint(-0.1));
        System.out.println("-0.0  取rint  " + Math.rint(-0.0));
        System.out.println("0.0  取rint  " + Math.rint(0.0));
        System.out.println("NaN  取rint  " + Math.rint(Double.NaN));
        System.out.println("正无穷  取rint  " + Math.rint(Double.POSITIVE_INFINITY));
        System.out.println("负无穷  取rint  " + Math.rint(Double.NEGATIVE_INFINITY));
    }
}

在这里插入图片描述

round

方法名:

  1. public static int round(float a)
  2. public static long round(double a)

作用:

  1. 返回一个最接近传入参数 a 的整数的 int 值。当向上和向下取值一样接近时,向上取值,即取结果较大的取值,例如: 1.5 距 1.0 和 2.0 一样近,最终取 2.0 。
  2. 返回一个最接近传入参数 a 的整数的 long 值。当向上和向下取值一样接近时,向上取值,即取结果较大的取值,例如: 1.5 距 1.0 和 2.0 一样近,最终取 2.0 。

特例:

  • 参数为 NaN 时,返回值为 0。
  • 方法1,当参数为 float 型正无穷或参数大于等于 Integer.MAX_VALUE 时,返回值为 Integer.MAX_VALUE 。
  • 方法1,当参数为 float 型负无穷或参数小于等于 Integer.MIN_VALUE 时,返回值为 Integer.MIN_VALUE 。
  • 方法2,当参数为 double 型正无穷或参数大于等于 Long.MAX_VALUE 时,返回值为 Long.MAX_VALUE 。
  • 方法2,当参数为 double 型负无穷或参数小于等于 Long.MIN_VALUE 时,返回值为 Long.MIN_VALUE 。

使用案例:

/**
 *@ClassName: RoundTest
 *@Description: round的使用
 *
 */
public class RoundTest {
    public static void main(String[] args) {
        System.out.println("2.0  取round  " + Math.round(2.0));
        System.out.println("2.1  取round  " + Math.round(2.1));
        System.out.println("2.5  取round  " + Math.round(2.5));
        System.out.println("-0.1  取round  " + Math.round(-0.1));
        System.out.println("-0.5  取round  " + Math.round(-0.5));
        System.out.println("-0.9  取round  " + Math.round(-0.9));
        System.out.println("-1.4  取round  " + Math.round(-1.4));
        System.out.println("-1.5  取round  " + Math.round(-1.5));
        System.out.println("-1.6  取round  " + Math.round(-1.6));
        System.out.println("-0.0  取round  " + Math.round(-0.0));
        System.out.println("0.0  取round  " + Math.round(0.0));
        System.out.println("NaN  取round  " + Math.round(Float.NaN));
        System.out.println("NaN  取round  " + Math.round(Double.NaN));
        System.out.println("float正无穷  取round  " + Math.round(Float.POSITIVE_INFINITY));
        System.out.println("float负无穷  取round  " + Math.round(Float.NEGATIVE_INFINITY));
        System.out.println("double正无穷  取round  " + Math.round(Double.POSITIVE_INFINITY));
        System.out.println("double负无穷  取round  " + Math.round(Double.NEGATIVE_INFINITY));
        System.out.println("int最大值  取round  " + Math.round(Integer.MAX_VALUE * 1.0f));
        System.out.println("大于int最大值  取round  " + Math.round(Integer.MAX_VALUE + 2.0f));
        System.out.println("long最大值  取round  " + Math.round(Long.MAX_VALUE * 1.0d));
        System.out.println("大于long最大值  取round  " + Math.round(Long.MAX_VALUE + 2.0d));
    }
}

在这里插入图片描述

random

方法名:public static double random()

作用:

返回一个 double 类型的伪随机数,其值大于等于0.0且小于1.0,即在区间 [ 0.0 , 1.0 ) 内。

使用案例:
在这里插入图片描述

pow

方法名:public static double pow(double a, double b)

作用:

返回 a b a^b ab 的结果的 double 值。

使用案例:
在这里插入图片描述

sqrt

方法名:public static double sqrt(double a)

作用:

返回 a \sqrt{a} a 的结果的 double 值。

特例:

  • 参数 a 小于 0 或为负无穷或为 NaN 时,返回值为 NaN 。
  • 参数 a 为正零或负零时,返回值不变仍为参数。
  • 参数 a 为正无穷时,返回值为正无穷。

使用案例:

/**
 *@ClassName: SqrtTest
 *@Description: sqrt的使用
 *
 */
public class SqrtTest {
    public static void main(String[] args) {
        System.out.println("2  取sqrt  " + Math.sqrt(2));
        System.out.println("4  取sqrt  " + Math.sqrt(4));
        System.out.println("0.0  取sqrt  " + Math.sqrt(0.0));
        System.out.println("-0.0  取sqrt  " + Math.sqrt(-0.0));
        System.out.println("-1  取sqrt  " + Math.sqrt(-1));
        System.out.println("NaN  取sqrt  " + Math.sqrt(Double.NaN));
        System.out.println("负无穷  取sqrt  " + Math.sqrt(Double.NEGATIVE_INFINITY));
        System.out.println("正无穷  取sqrt  " + Math.sqrt(Double.POSITIVE_INFINITY));

    }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值