Java常用类-----java.util.Math类常用方法整理

    • 前言
    • 字段
  • 常用方法
    • 一、数学常用运算
      • 1.绝对值
      • 2.平方根
      • 3.立方根
      • 4.幂函数、指数函数
      • 5.对数函数
    • 二、取整函数
      • 1.向上取整
      • 2.向下取整
      • 3.四舍五入
    • 三、最值和随机数
      • 1.计算最大值
      • 2.计算最小值
      • 3.生成随机数

前言

  Math类主要是一个工具类,它用于执行基本数字运算的方法,例如基本指数,对数,平方根和三角函数等。它的所有方法都是静态的,可以直接使用类名.方法名调用。

字段

  1、π的获取

    public static final double E = 2.7182818284590452354;

  2、自然常数e

    public static final double PI = 3.14159265358979323846;

常用方法

一、数学常用运算

1.绝对值

abs
 返回参数值的绝对值。

 /**
  * Math.abs()
  * @param int/long/double/float
  */
System.out.println(Math.abs(5)); //5
System.out.println(Math.abs(-15)); //15
System.out.println(Math.abs(-16.8)); //16.8

2.平方根

sqrt
 返回double类型的正确舍入的正平方根。

 System.out.println(Math.sqrt(16.0)); //4.0
 System.out.println(Math.sqrt(0)); //0.0
 System.out.println(Math.sqrt(-0)); //0.0
 System.out.println(Math.sqrt(8)); //2.8284271247461903
 System.out.println(Math.sqrt(-16.0)); //NaN

注意:

  • 如果参数为NaN或小于零,则结果为NaN。
  • 如果参数是正无穷大,那么结果是正无穷大。
  • 如果参数为正零或负零,则结果与参数相同。

否则,结果是最接近参数值的真数学平方根的double值。

3.立方根

cbrt
  返回参数double类型的立方根值。 对于正有限x , cbrt(-x) == -cbrt(x) ; 即负值的立方根是该值的大小的立方根的负数。

   System.out.println(Math.cbrt(8.0)); //2.0
   System.out.println(Math.cbrt(-8)); //-2.0
   System.out.println(Math.cbrt(0)); //0.0
   System.out.println(Math.cbrt(-0)); //0.0

4.幂函数、指数函数

pow​
返回第一个参数的第二个参数次幂的double类型的值。

System.out.println(Math.pow(2,5)); //32.0
System.out.println(Math.pow(-2,5)); //-32.0
System.out.println(Math.pow(2,0)); //1.0

5.对数函数

log
返回double类型的自然对数值(基数e )。

System.out.println(Math.log(16)); //2.772588722239781
System.out.println(Math.log(0)); //-Infinity
System.out.println(Math.log(-0)); //-Infinity
System.out.println(Math.log(-16)); //NaN

log10
返回double类型的对数值(基数10)。

System.out.println(Math.log10(100)); //2.0
System.out.println(Math.log10(-100)); //NaN
System.out.println(Math.log10(0)); //-Infinity

二、取整函数

1.向上取整

ceil
返回大于或等于参数且为整数的 double类型的值。

System.out.println(Math.ceil(9.6)); //10.0
System.out.println(Math.ceil(9.3)); //10.0
System.out.println(Math.ceil(0)); //0.0
System.out.println(Math.ceil(-9.6)); //-9.0
System.out.println(Math.ceil(-9.3)); //-9.0

2.向下取整

floor
返回小于或等于参数且为整数的double 类型的最大值

System.out.println(Math.floor(6.6)); //6.0
System.out.println(Math.floor(6.2)); //6.0
System.out.println(Math.floor(0)); //0.0
System.out.println(Math.floor(-6.6)); //-7.0
System.out.println(Math.floor(-6.2)); //-7.0

3.四舍五入

3.1 round
四舍五入,float时返回int值,double时返回long值

/**
 * Math.round()
 * @param double/float
 */
System.out.println(Math.round(4.2)); //4
System.out.println(Math.round(4.5)); //5
System.out.println(Math.round(6.45)); //6
System.out.println(Math.round(0)); //0
System.out.println(Math.round(-6.45)); //-6
System.out.println(Math.round(-6.2)); //-6

3.2 rint
四舍五入,返回最接近这个数的double值,如果刚好居中,则取偶数。

System.out.println(Math.rint(4.5)); //4.0
System.out.println(Math.rint(4.6)); //5.0
System.out.println(Math.rint(4.2)); //4.0
System.out.println(Math.rint(7.5)); //8.0
System.out.println(Math.rint(-7.3)); //-7.0
System.out.println(Math.rint(-7.5)); //-8.0
System.out.println(Math.rint(-8.5)); //-8.0

三、最值和随机数

1.计算最大值

max
返回两个数中的较大值。如果参数具有相同的值,则结果是相同的值。

System.out.println(Math.max(3,5.5)); //5.5
System.out.println(Math.max(4,8)); //8
System.out.println(Math.max(4.7,6.5)); //6.5
System.out.println(Math.max(-5,-8)); //-5

2.计算最小值

min
返回两个数中的较小值。如果参数具有相同的值,则结果是相同的值。

System.out.println(Math.min(4.7,8.8)); //4.7
System.out.println(Math.min(3,6)); //3
System.out.println(Math.min(2,0.0)); //0.0
System.out.println(Math.min(-5,-7.6)); //-7.6

3.生成随机数

random
返回带有正号的double值,大于等于0.0且小于1.0 。 从该范围均匀分布伪随机地生成返回值。

  //生成指定区间[a , b)随机数公式:
  //Math.random()*(b-a) + a
 System.out.println(Math.random()); //随机生成[0,1)区间double类型的数
 System.out.println(Math.random()*90+10); //随机生成[10,100)区间double类型的数

你可能感兴趣的:(Java常用类,java)