侧边栏壁纸
博主头像
Z同学博主等级

工作磨平激情前,坚持技术的热忱。 欢迎光临Z同学的技术小站。 分享最新的互联网知识。

  • 累计撰写 274 篇文章
  • 累计创建 55 个标签
  • 累计收到 74 条评论

java Math 类方法详细介绍

Z同学
2022-01-28 / 0 评论 / 1 点赞 / 183 阅读 / 5,140 字
温馨提示:
本文最后更新于 2022-02-11,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言

很多时候使用使用的忘记了Math类的使用了。这里统一记录一下Math的方法。

Math的方法几乎都是static函数。让我们可以直接使用Math实现各种数学参数的转换和计算。

例如我们直接得到π :Math.PI, 得到欧拉数 E :Math.E。

还有其他的各种计算。具体的可以参考下面的说明介绍吧。

说明

public final class Math {
	//直接得到欧拉数E,也叫自然常数。
    public static final double E = 2.7182818284590452354;
   
	//我们可以直接 使用 Math.PI  得到π的值
    public static final double PI = 3.14159265358979323846;

   //初中的 三角函数算法。sin,cos,tan的计算。
    //求参数的正弦值(sin值)。
    public static native double sin(double a);

    //求参数的余弦值(cos值)。
    public static native double cos(double a);

    //求参数的正切值(tan值)。
    public static native double tan(double a);

    //求参数的反正弦值。
    public static native double asin(double a);
    
    //求参数的反余弦值。
    public static native double acos(double a);

    //求参数的反正切值。
    public static native double atan(double a);

   	//将角度值转为弧度值。
    public static double toRadians(double angdeg)

   //将弧度值转换为角度值。
    public static double toDegrees(double angrad) 

    //返回自然数底数e的参数次方。
    public static native double exp(double a);

    //返回参数的自然数底数的对数值。
    public static native double log(double a);
	
    //返回参数的10为底数的对数值。
    public static native double log10(double a);

    //返回参数的算术平方根。也就是开根号
    public static native double sqrt(double a);
	
    //返回参数的立方根
    public static native double cbrt(double a);

    //按照IEEE 754标准的规定计算两个自变量的余数运算
    public static native double IEEEremainder(double f1, double f2);

    //返回大于等于( >= )给定参数的的最小整数。向下取整。 并不是四舍五入
    public static native double ceil(double a);

    //返回小于等于(<=)给定参数的最大整数 。向上取整。 并不是四舍五入
    public static native double floor(double a);

    //返回与参数最接近的整数。
    public static native double rint(double a);
	
    //将笛卡尔坐标转换为极坐标,并返回极坐标的角度值。
    public static native double atan2(double y, double x);

   	//返回第一个参数的第二个参数次方。例如某数的2次方,3次方,4次方等
    public static native double pow(double a, double b);

   	//返回Float参数的四舍五入值。
    public static int round(float a)

    //返回double参数的四舍五入值。
    public static long round(double a) 
	
    //返回一个0~1的随机数
    public static double random() 
	
    //设置随机数种子值。
    public static void setRandomSeedInternal(long seed)

   	//根据定义的随机数种子值,生成随机数。
    public static int randomIntInternal() 

    //根据定义的随机数种子值,生成随机数。两个方法一样的,只是返回的参数范围更大而已。
    public static long randomLongInternal() 

   //返回两个参数的总和,如果两数相加是溢出就会输出异常
   //负负得正,正正得负.就是叫做溢出。
    public static int addExact(int x, int y) 

   //返回两个参数的总和,如果两数相加是溢出就会输出异常
   //负负得正,正正得负.就是叫做溢出。  (入参和出参的符号不一致了就叫做溢出)
    public static long addExact(long x, long y)

    //返回参数x-y的值,如果两数相加是溢出就会输出异常
    public static int subtractExact(int x, int y) 

    //返回参数x-y的值,如果两数相加是溢出就会输出异常
    public static long subtractExact(long x, long y)

   //返回参数x*y的值,如果两数相加是溢出就会输出异常
    public static int multiplyExact(int x, int y) 

   //返回参数x*y的值,如果两数相加是溢出就会输出异常
    public static long multiplyExact(long x, long y) 

    //返回当前数a+1的值,如果a等于Integer.MAX_VALUE 就会返回异常
    public static int incrementExact(int a)
        
	//返回当前数a+1的值,如果a等于Long.MAX_VALUE 就会返回异常
    public static long incrementExact(long a)
   
    //返回当前数a-1的值,如果a等于Integer.MAX_VALUE 就会返回异常
    public static int decrementExact(int a) 

    //返回当前数a-1的值,如果a等于Long.MAX_VALUE 就会返回异常
    public static long decrementExact(long a)

    //返回Int参数的相反数,正数为负数,负数为正数
    public static int negateExact(int a) 
    
    //返回Long参数的相反数,正数为负数,负数为正数
    public static long negateExact(long a)

    //将long转int
    public static int toIntExact(long value) 

   	//第一个参数除以第二参数,然后针对结果执行floor操作,返回小于或等于商的整数(最接近正无穷大)
    public static int floorDiv(int x, int y)

    //第一个参数除以第二参数,然后针对结果执行floor操作,返回小于或等于商的整数(最接近正无穷大)   具体的什么叫做floor操作可以看下面的floor函数
    public static long floorDiv(long x, long y)

    //取模运算,两个参数正负相同,那结果和% 取余运算结果一样,但是如果符号不同,结果有差异。
    public static int floorMod(int x, int y) 

   //取模运算
    public static long floorMod(long x, long y)

    //返回参数的绝对值。
    public static int abs(int a)

   //返回参数的绝对值。
    public static long abs(long a)

    //返回参数的绝对值。
    public static float abs(float a) 

    //返回参数的绝对值。
    public static double abs(double a) 

   //返回两个参数中的最大值。
    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) 

    //返回两个参数中的最小值。
    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) 

    //该方法返回参数ulp的大小.ulp表示最低精度单位
    public static double ulp(double d)

    //该方法返回参数ulp的大小.ulp表示最低精度单位 (就是小数点后面的值,数学中无穷,但是程序中有范围,不可能存储无限长度)
    public static float ulp(float f)
        
    //用于返回给定double参数类型方法的sign函数
    public static double signum(double d) 

    //用于返回给定float参数类型方法的sign函数
    public static float signum(float f)
        
    //返回一个数字(单位为角度)的双曲正弦值.
    public static native double sinh(double x);

    //返回数值的双曲余弦函数. 传参为角度值
    public static native double cosh(double x);
    
	//返回一个数的双曲正切函数值,传参为角度值
    public static native double tanh(double x);

    //返回所有参数的平方和的平方根
    public static native double hypot(double x, double y);

	//函数返回 Ex - 1, 其中 x 是入参, E 是自然对数的底数 2.718281828459045.
    public static native double expm1(double x);
    
    //返回一个数字加1后的自然对数 (底为 E), 既log(x+1).
    public static native double log1p(double x);

    //函数返回一个浮点数,其浮点值为magnitude,但符号为sign。
    //复制第二个参数的符号并将其分配给第一个参数.
    public static double copySign(double magnitude, double sign)

    //复制第二个参数的符号并将其分配给第一个参数.
    public static float copySign(float magnitude, float sign) 
    
    //返回在float表示中使用的无偏指数。
    //也就是说,将浮点数或双精度数转换为浮点表示形式。
    public static int getExponent(float f)

    //返回在double表示中使用的无偏指数。
    //也就是说,将浮点数或双精度数转换为浮点表示形式。
    public static int getExponent(double d)

    //在第二个参数的方向上返回与第一个参数相邻的数字。
    public static double nextAfter(double start, double direction)
        
    //在第二个参数的方向上返回与第一个参数相邻的数字。    
    public static float nextAfter(float start, double direction) 
        
    //在正无穷大的方向上返回与指定参数相邻的数字。
    public static double nextUp(double d)

    //在正无穷大的方向上返回与指定参数相邻的数字。
    public static float nextUp(float f)

    //在负无穷大的方向上返回与指定参数相邻的数字。
    public static double nextDown(double d) 

   //在负无穷大的方向上返回与指定参数相邻的数字。
    public static float nextDown(float f) 

    //用于获取d * 2^scaleFactor的值
    public static double scalb(double d, int scaleFactor)

     //用于获取f * 2^scaleFactor的值
    public static float scalb(float f, int scaleFactor)

}

到这里就结束了,如果我的介绍给您带来了参考价值。希望能关注下我的公众号。也算是给我的一个鼓励吧。

1

评论区