Math类整理-java.lang.Math

public final class Math

Math类中,都是静态方法
彩色的是觉得还能用得上 ( ̄ェ ̄;)
语文较差的,这个会很方便

字段

static double E;//自然对数的基数e
static double PI;//圆周率π

静态方法

调用方式 Math.下面的方法名(方法体参数对应)

  • double abs (double a)

    • 返回值: ∣ \mid a ∣ \mid .(a的绝对值)
    • 此方法的重载类型还有 int、float、long.
  • double acos (double a)

    • 返回值:arccos a , a 表示弧度
    • 结果在 0 ~ π \pi π 之间
  • int addExact ( int x , int y )

    • 返回值:x + y数据溢出,会抛异常
    • 重载还有long类型
  • double asin ( double a )

    • 反正弦,arcsin a
    • 结果范围在 - π 2 \frac{\pi}{2} 2π ~ π 2 \frac{\pi}{2} 2π
  • double atan ( double a )

    • 反正切, arctan a
    • 结果范围在 - π \pi π/2 ~ π \pi π/2.
  • double atan2 ( double x , double y )

    • 直角坐标 ( x , y )转化为极坐标 ( R θ \theta θ ),并返回 θ \theta θ 弧度
  • double cbrt ( double a )

    • 返回值: a 3 \sqrt[3]{a} 3a
  • double ceil ( double a )

    • 向上取整
    • 1.3---->2.0 -2.9----->-2
  • float copySign ( float magnitude, float sign )

    • sign确定正负,magnitude确定值

      Math.copySign(-12,6);//12

    • 重载还有double

  • double cos ( double a )

    • 返回余弦值,a 是弧度
  • double cosh ( double x )

    • 双曲余弦值
  • long decrementExact ( long a )

    • 返回值 a - 1,如果结果溢出 long则抛出异常。

    • 重载有int

      这个自减比较特殊,他不会改变量 a 的值,所以你要这样玩

      int a1 = 100;
      int b = a1;
      for(int i=0;i<10;i++){
      	b = Math.decrementExact(b);
      }
      System.out.println(b);
      
  • double expm1 ( double x )

    • 返回值:ex
  • double expm1 ( double x )

    • 返回值:ex - 1
  • double floor ( double a )

    • 返回值,一个整数
      • Math.floor(5.9);//5
      • Math.floor(-3.1);//-4
  • int floorDiv ( int a , int b )

    • 返回值:floor(a/b)
    • 重写有long
  • int floorMod ( int a , int b )

    • 返回值:a - floorDiv(a, b) * b
      • 可以理解为取余,只不过,余数要和 b 同号(b是负数,这个余数就要<=0)
    • 重写有long
  • float fma ( float a , float b , float c )

    • 返回值:a × \times × b + c
    • 返回与第三个参数相加的前两个参数的精确乘积,然后舍入一次到最接近的float
    • 重载有double
  • double getExponent ( float f )

    • 简单点说,输出准确,不会有浮点偏差
    • 重载有float
  • double hypot(double x, double y)

    • 返回sqrt( x2 + y2 ),没有中间溢出或下溢。
  • double IEEEremainder(double f1, double f2)

    • 根据IEEE 754标准规定,计算两个参数的余数运算。
  • long incrementExact ( long a )

    • 返回值 a+1,如果结果溢出 long则抛出异常。

    • 重载有int

      这个自增和前面的自减一样

  • double log ( double x )

    • 返回值: ln ⁡ \ln ln x

    • 使用换底公式,可以实现 log ⁡ a b \log_a b logab 的计算

      log ⁡ a b = log ⁡ c b log ⁡ c a \log_a b = \frac{\log_c b}{\log_c a} logab=logcalogcb

      /**
       * a是底数,b是对数
       */
      public double logx(int a,int b){
      	if(a<=0||a==1){
      		throw new RuntimeException("(ー`´ー)  底数取值范围(0,1)U(1,+∞)");
      		//你也可以和谐一下,不抛异常
      	}
      	return Math.log(b)/Math.log(a);
      }
      

整理资料,也不能忘记学习和完善
在这里插入图片描述

  • double log10 ( double x )

    • 返回值: lg ⁡ \lg lg x
  • double log1p ( double x )

    • 返回值: ln ⁡ \ln ln (1 + x)
  • int max ( int a , int b )

    • 返回 ab 中最大的值
    • 重载还有:float、long、double
  • int min ( int a , int b )

    • 返回 ab 中最小的值
    • 重载还有:float、long、double
  • long multiplyExact ( long a , long b )

    • 返回值为 a × \times × b 的结果,超出抛异常
  • long multiplyExact ( long a , long b )

    • 返回值为 a × \times × b 的结果,超出抛异常
    • 重载的都是整数类型的,反正不能超过long最大值,否则抛异常
  • long multiplyFull ( int a , int b )

    • 返回值为 a × \times × b 的确切结果
  • long multiplyHigh (long x , long y)

    • 返回值:x × \times × y ÷ \div ÷ 264

      说实话中文文档真的晦涩

  • long negateExact (long a)

    • 返回值为 - a,值溢出,抛异常
    • 重载有int
  • double nextAfter (double start, double direction)

    • 返回第二个参数方向上第一个参数旁边的浮点数。
    • 还有一重载,返回值和start为float类型
  • double nextDown(double d)

    • 返回负无穷大方向上与 d相邻的浮点值。

    Math.nextDown(10.4) --------> 10.399999999999999

    Math.nextDown(10.5) --------> 10.499999999999998

  • float nextUp(float f)

    • 返回正无穷大方向上与 f相邻的浮点值。
    • 重载还有double

    Math.nextUp(10.5) --------> 10.500000000000002

    Math.nextUp(10.6) --------> 10.600000000000001

    Math.nextUp(10.599999999999998) --------> 10.6

  • double pow ( double a , double b)

    • 返回值为 ab.

      b为分数时,表示开平方根。

      如:b = 3/4,返回值: a 3 4 \sqrt[4]{a^3} 4a3

      (~ ̄▽ ̄)~ 思想不滑坡

  • double random ()

    • 会自动生成一个随机小数,其范围 [ 0 , 1).
  • double rint ( double a )

    • 取最近的整数值,作为结果(视作都是正数的四舍五入就行,然后再添加符号位
  • long round ( double a )

    • 四舍五入(为正)

    System.out.println(Math.round(10.50));//11
    System.out.println(Math.round(10.49));//10
    System.out.println(Math.round(-10.50));//-10
    System.out.println(Math.round(-10.51));//-11

    • 重载有 int 作为返回值所对应的 float
  • double scalb ( double d , double x )

    • d × \times × 2x 结果作为返回值
    • 重载方法有float
  • double signum ( double d )

    • 正负号函数,正数返回1.0f,负数返回-1.0f
    • 重载方法还有float
  • double sin ( double a )

    • 返回正弦值
  • double sinh ( double x )

    • 双曲正弦值
  • double sqrt ( double x )

    • 返回 x 的开平方
  • int subtractExact ( int x , int y )

    • 返回值为:x - y,前提是不溢出,否则抛异常
    • 还重载有long
  • double tan ( double a )

    • 返回正切值
  • double tanh ( double x )

    • 双曲正切值( ex - e-x )/( ex + e-x
  • double toDegrees ( long angrad )

    • 将弧度,转化为角度
  • int toIntExact ( long angrad )

    • long类型值转化为int类型,溢出,就抛出异常
  • double toRadians ( double angdeg )

    • 将角的度数,转化为弧度
  • double ulp ( double a )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值