Java中Math类常用方法

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值