前言
很多时候使用使用的忘记了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)
}
到这里就结束了,如果我的介绍给您带来了参考价值。希望能关注下我的公众号。也算是给我的一个鼓励吧。
评论区