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

前言

  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类型的数
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值