Java中Math类常用方法

Math类是一个包含了很多数学常量与计算方法的类,里面的方法全是静态方法。Math类位于java.lang包下,一般能够自动导入。有兴趣的话可以查看官方的文档:https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html , 这里我将其整理如下:

Java中Math类常用方法

    • 数学常量:
    • 常用方法:
        • 求随机数
        • 求绝对值
        • 求最大值
        • 求最小值
        • 取整
        • 四舍五入
        • 最接近的整数
        • 三角计算
        • 反三角计算
        • 开方计算
        • 对数计算
        • 乘方计算
    • 不常用方法:
        • 符号函数
        • 精确计算
        • 角度转换
        • 坐标转换
        • 其他


数学常量:

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大小。

你可能感兴趣的:(java开发)