Math类是一个包含了很多数学常量与计算方法的类,里面的方法全是静态方法。Math类位于java.lang包下,一般能够自动导入。有兴趣的话可以查看官方的文档:https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html , 这里我将其整理如下:
static double E; //自然对数的基数:e
static double PI; //圆周率:π
static double random(); //返回一个大于等于0.0且小于1.0的double值。
static double abs(double a);
static float abs(float a);
static int abs(int a);
static long abs(long a);
static double max(double a, double b);
static float max(float a, float b);
static int max(int a, int b);
static long max(long a, long b);
static double min(double a, double b);
static float min(float a, float b);
static int min(int a, int b);
static long min(long a, long b);
static double ceil(double a); //向上取整:返回大于等于参数的最小整数值。
static double floor(double a); //向下取整:返回小于等于参数的最大整数值。
static long round(double a);
static int round(float a);
static double rint(double a); //返回最接近参数的整数。
static double sin(double a); //正弦函数
static double cos(double a); //余弦函数
static double tan(double a); //正切函数
static double sinh(double x); //双曲正弦函数
static double cosh(double x); //双曲余弦函数
static double tanh(double x); //双曲正切函数
static double acos(double a); //反余弦函数,返回的角度在0.0到pi的范围内。
static double asin(double a); //反正弦函数; 返回的角度在-pi/2到pi/2的范围内。
static double atan(double a); //反正切函数; 返回的角度在-pi/2到pi/2的范围内。
static double sqrt(double a); //平方根。
static double cbrt(double a); //立方根。
static double hypot(double x, double y); //返回sqrt(x^2 + y^2)。
static double log(double a); //以自然常数e为底的对数。
static double log10(double a); //以10为底的对数。
static double log1p(double x); //返回 x+1 的自然对数。
static double pow(double a, double b); //幂函数:返回计算a的b次方。
static double exp(double a); //返回自然底数e的参数次方。
static double expm1(double x); //返回 exp(x)-1
static double signum(double d); //如果参数为零,则返回零;如果参数大于零,则返回1.0;如果参数小于零,则返回-1.0。
static float signum(float f); //如果参数为零则为零,如果参数大于零则为1.0f,如果参数小于零则为-1.0f。
static int addExact(int x, int y); //返回两参数的和,如果结果溢出,则抛出异常int。
static long addExact(long x, long y); //返回两参数的和,如果结果溢出a则抛出异常long。
static int multiplyExact(int x, int y); //返回两参数的乘积,如果结果溢出则抛出异常int。
static long multiplyExact(long x, long y); //返回两参数的乘积,如果结果溢出a则抛出异常long。
static int subtractExact(int x, int y); //返回两参数的差,如果结果溢出则抛出异常int。
static long subtractExact(long x, long y); //返回两参数的差,如果结果溢出a则抛出异常long。
static int negateExact(int a); //返回参数的否定,如果结果溢出则抛出异常int。
static long negateExact(long a); //返回参数的否定,如果结果溢出a则抛出异常long。
static int decrementExact(int a); //返回参数值减 1,如果结果溢出则抛出异常int。
static long decrementExact(long a); //返回参数值减 1,如果结果溢出a则抛出异常long。
static int incrementExact(int a); //返回参数值加 1,如果结果溢出,则抛出异常int。
static long incrementExact(long a); //返回参数值加 1,如果结果溢出a则抛出异常long。
static int toIntExact(long value); //返回long参数的值; 如果值溢出,则抛出异常int。
static double toRadians(double angdeg); //将以度为单位的角度转换为以弧度为单位测量的近似等效角度。
static double toDegrees(double angrad); //将以弧度测量的角度转换为以度为单位测量的近似等效角度。
static double atan2(double y, double x); //返回从直角坐标(x,y)到极坐标(r,theta)的转换的角度θ。
static double copySign(double magnitude, double sign); //返回带有sign符号的magnitude。
static float copySign(float magnitude, float sign); //返回带有sign符号的magnitude。
static double scalb(double d, int scaleFactor); //返回 d 乘以 2 的 scaleFactor次幂。
static float scalb(float f, int scaleFactor); //返回 f 乘以 2 的 scaleFactor次幂。
static double nextAfter(double start, double direction); //返回与第二个参数方向相邻的第一个参数的浮点数
static float nextAfter(float start, double direction); //返回与第二个参数方向相邻的第一个参数的浮点数
static double nextDown(double d); //返回与负无穷大方向相邻的 d 的浮点值
static float nextDown(float f); //返回与负无穷大方向相邻的 f 的浮点值
static double nextUp(double d); //返回与正无穷大方向相邻的 d 的浮点值
static float nextUp(float f); ////返回与正无穷大方向相邻的 f 的浮点值
static int floorDiv(int x, int y); //对x除以y的商向下取整。
static long floorDiv(long x, long y); //对x除以y的商向下取整。
static int floorMod(int x, int y); //对x除以y的模向下取整。
static long floorMod(long x, long y); //对x除以y的模向下取整。
static double IEEEremainder(double f1, double f2); //返回 f1 除以 f2 的余数。
static int getExponent(double d); //返回参数的无偏指数。
static int getExponent(float f); //返回参数的无偏指数。
static double ulp(double d); //返回参数的ulp大小。
static float ulp(float f); //返回参数的ulp大小。