1.用途
Math类用于数学计算,包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
2.特点
Math类没有定义为返回比特位相同的结构;类中的方法都是公共的静态方法。
3.基本字段
(1)E
public static final double E
double值比其他任何一个更接近e(自然对数的基数)。
(2)PI
public static final double PI
double值比其他任何的更接近pi(圆周长与其直径的比率)。
4.Math类的常用方法
(1)sin
public static double sin(double a)
作用:返回角度的三角正弦。
参数:a – 以弧度表示的角度。
特殊情况:如果参数为NaN或无穷大,则结果为NaN;如果参数为零,则结果为与参数相同符号的零。
注意事项:计算结果必须在精确结果的1 ulp之内,结果必须是半单调的。
(2)cos
public static double cos(double a)
作用:返回角度的三角余弦。
参数:a – 以弧度表示的角度。
特殊情况:如果参数为NaN或无穷大,则结果为NaN。
注意事项:计算结果必须在精确结果的1 ulp之内,结果必须是半单调的。
(3)tan
public static double tan(double a)
作用:返回角度的三角正切。
参数:a – 以弧度表示的角度。
特殊情况:如果参数为NaN或无穷大,则结果为NaN;如果参数为零,则结果为与参数相同符号的零。
注意事项:计算结果必须在精确结果的1 ulp之内,结果必须是半单调的。
(4)asin
public static double asin(double a)
作用:返回值的反正弦值。
参数:a – 要返回正弦的值。
特殊情况:如果参数为NaN或其绝对值大于1,则结果为NaN;如果参数为零,则结果为与参数相同符号的零。
注意事项:计算结果必须在精确结果的1 ulp之内,结果必须是半单调的。
(5)acos
public static double acos(double a)
作用:返回值的反余弦值。
参数:a – 要返回的余弦值。
特殊情况:如果参数为NaN或其绝对值大于1,则结果为NaN。
注意事项:计算结果必须在精确结果的1 ulp之内,结果必须是半单调的。
(6)atan
public static double atan(double a)
作用:返回值的反正切值。
参数:a – 要返回的反正切值。
特殊情况:如果参数是NaN,那么结果是NaN;如果参数为零,则结果为与参数相同符号的零。
注意事项:计算结果必须在精确结果的1 ulp之内,结果必须是半单调的。
(7)toRadians
public static double toRadians(double angdeg)
作用:将以度为单位的角度转换为以弧度测量的大致相等的角度。
参数:angdeg – 以度为单位的角度。
注意事项:从角度到弧度的转换通常是不准确的。
(8)toDegrees
public static double toDegrees(double angrad)
作用:将以弧度测量的角度转换为以度为单位的近似等效角度。
参数:angrad – 以弧度表示的角度。
注意事项:从弧度到度的转换通常是不准确的。
(9)exp
public static double exp(double a)
作用:返回欧拉的数字e提高到double价值。
参数:a – 提高e的指数。
特殊情况:如果参数是NaN,结果是NaN;如果参数为无穷大,则结果为正无穷大;如果参数为负无穷大,则结果为正零。
注意事项:计算结果必须在精确结果的1 ulp之内,结果必须是半单调的。
(10)log
public static double log(double a)
作用:返回自然对数(以e为底)的double值。
参数:a – 一个值。
特殊情况:如果参数为NaN或小于零,则结果为NaN;如果参数为无穷大,则结果为正无穷大;如果参数为正零或负零,则结果为负无穷大。
注意事项:计算结果必须在精确结果的1 ulp之内,结果必须是半单调的。
(10)log10
public static double log10(double a)
作用:返回一个double的基数10对数值。
参数:a – 一个值。
特殊情况:如果参数为NaN或小于零,则结果为NaN;如果参数为无穷大,则结果为正无穷大;如果参数为正零或负零,则结果为负无穷大。如果参数等于10 n(10的n次方),用于整数n,则结果为n。
注意事项:计算结果必须在精确结果的1 ulp之内,结果必须是半单调的。
(11)sqrt
public static double sqrt(double a)
作用:返回double值正确舍入的正平方根。
参数:a – 一个值。
特殊情况:如果参数为NaN或小于零,则结果为NaN;如果参数为无穷大,则结果为正无穷大;如果参数为正零或负零,则结果与参数相同。
(12)cbrt
public static double cbrt(double a)
作用:返回double值的多维数据集根。
参数:a – 一个值。
特殊情况:如果参数是NaN,那么结果是NaN;如果参数是无限的,则结果是与参数具有相同符号的无穷大;如果参数为零,则结果为与参数相同符号的零。
注意事项:计算结果必须在精确结果的1 ulp之内。
(13)IEEEremainder
public static double IEEEremainder(double f1,double f2)
作用:根据IEEE 754标准计算两个参数的余数运算。
参数:f1 --股息;f2 – 除数。
特殊情况:如果任一参数为NaN,或第一个参数为无穷大,或第二个参数为正零或负零,则结果为NaN;如果第一个参数是有限的,第二个参数是无穷大的,那么结果与第一个参数相同。
(14)ceil
public static double ceil(double a)
作用:返回大于或等于参数的最小(最接近负无穷大) double值,并等于一个数学整数。
参数:a – 一个值。
特殊情况:如果参数值已经等于数学整数,则结果与参数相同;如果参数为NaN或无穷大或正零或负零,则结果与参数相同;如果参数值小于零但大于-1.0,则结果为负零。
(15)floor
public static double floor(double a)
作用:返回小于或等于参数的最大(最接近正无穷大) double值,等于一个数学整数。
参数:a – 一个值。
特殊情况:如果参数值已经等于数学整数,则结果与参数相同;如果参数为NaN或无穷大或正零或负零,则结果与参数相同。
(16)rint
public static double rint(double a)
作用:返回与参数最接近值的double值,等于一个数学整数。
参数:a – 一个double的值。
特殊情况:如果参数值已经等于数学整数,则结果与参数相同;如果参数为NaN或无穷大或正零或负零,则结果与参数相同。
(17)atan2
public static double atan2(double y,double x)
作用:返回对应于在笛卡尔坐标系的点 (x,y)的极坐标点 (R,θ-)的 theta部分。
参数:y – 纵坐标; x – 横坐标。
特殊情况:如果任一参数为NaN,则结果为NaN;
如果第一个参数为正零,第二个参数为正,或第一个参数为正和有限,第二个参数为正无穷大,则结果为正零;
如果第一个参数为负零,第二个参数为正,或第一个参数为负,有限,第二个参数为正无穷大,则结果为负零;
如果第一个参数为正零,第二个参数为负,或第一个参数为正和有限,第二个参数为负无穷大,则结果为最接近pi的double值;
如果第一个参数为负零,第二个参数为负,或者第一个参数为负,有限,第二个参数为负无穷大,则结果为最接近pi的double值;
如果第一个参数为正,第二个参数为正零或负零,或第一个参数为正无穷大,第二个参数为有限,则结果为最接近pi / 2的double值;
如果第一个参数为负,第二个参数为正零或负零,或者第一个参数为负无穷大,第二个参数为有限,则结果为最接近-pi / 2的值为double ;
如果两个参数均为无穷大,则结果为最接近pi / 4的double值;
如果第一个参数为正无穷大,第二个参数为负无穷大,则结果为最接近3 * pi / 4的double值;
如果第一个参数为负无穷大,第二个参数为正无穷大,则结果为最接近-pi / 4的double值;
如果两个参数均为负无穷大,则结果为最接近-3 * pi / 4的double值。
注意事项: 计算结果必须在精确结果的2 ulps之内。 结果必须是半单调的。
(18)pow
public static double pow(double a,double b)
作用:将第一个参数的值返回到第二个参数的幂。
参数:a – 基地; b – 指数。
特殊情况:如果第二个参数为正或负零,则结果为1.0;
如果第二个参数为1.0,则结果与第一个参数相同;
如果第二个参数是NaN,那么结果是NaN;
如果第一个参数是NaN,第二个参数是非零,那么结果是NaN;
如果第一个参数的绝对值大于1,第二个参数为正无穷大,或第一个参数的绝对值小于1,第二个参数为负无穷大,那么结果是正无穷大;
如果第一个参数的绝对值大于1,第二个参数为负无穷大,或第一个参数的绝对值小于1,第二个参数为正无穷大,那么结果是正零;
如果第一个参数的绝对值等于1,第二个参数为无穷大,则结果为NaN;
如果第一个参数是正零,第二个参数大于零,或者第一个参数是正无穷大,第二个参数小于零,那么结果是正零;
如果第一个参数是正零,第二个参数小于零,或者第一个参数是正无穷大,第二个参数大于零,那么结果是正无穷大;
如果第一个参数是负零,第二个参数大于零,但不是有限的奇整数,或者第一个参数是负无穷大,第二个参数小于零,但不是有限奇整数,那么结果是正零;
如果第一个参数为负零,第二个参数为正有限奇数整数,或第一个参数为负无穷大,第二个参数为负有限奇数整数,那么结果是负零;
如果第一个参数为负零,第二个参数小于零,但不是有限奇整数,或第一个参数为负无穷大,第二个参数大于零但不是有限奇整数,那么结果是正无穷大;
如果第一个参数为负零,第二个参数为负有限奇数整数,或第一个参数是负无穷大,第二个参数是正有限奇数整数,那么结果是负无穷大;
如果第一个参数是有限的并且小于零,如果第二个参数是有限的偶数整数,则结果等于将第一个参数的绝对值提高到第二个参数的幂的结果;如果第二个参数是有限的奇整数,则结果等于将第一个参数的绝对值提高到第二个参数的幂的结果的负数;如果第二个参数是有限的,而不是一个整数,则结果是NaN;
如果两个参数都是整数,那么结果完全等于将第一个参数提升到第二个参数的幂的数学结果,如果该结果事实上可以完全按照double值进行表示。
注意事项: 计算结果必须在精确结果的1 ulp之内。 结果必须是半单调的。
(19)round
public static int round(float a)
作用:返回参数最接近的int,其中int四舍五入为正无穷大。
参数:a – 要舍入为整数的浮点值。
特殊情况:如果参数是NaN,结果为0;如果参数为负无穷大或小于或等于Integer.MIN_VALUE的值,则结果等于Integer.MIN_VALUE的值;如果参数为正无穷大或大于或等于Integer.MAX_VALUE的值,则结果等于Integer.MAX_VALUE的值。
(20)round
public static long round(double a)
作用:返回参数中最接近的long,其中long四舍五入为正无穷大。
参数:a – 要舍入为long的浮点值。
特殊情况:如果参数是NaN,结果为0;如果参数为负无穷大或小于或等于Long.MIN_VALUE的值,则结果等于Long.MIN_VALUE的值;如果参数为正无穷大或大于或等于Long.MAX_VALUE的值,则结果等于Long.MAX_VALUE的值。
(21)random
public static double random()
作用:返回一个double值为正号,大于等于0.0,小于1.0。
参数:无。
(22)addExact
public static int addExact(int x,int y)
public static long addExact(long x,long y)
作用:返回其参数的总和。
参数:x – 第一个值; y – 第二个值。
(23)subtractExact
public static int subtractExact(int x,int y)
public static long subtractExact(long x,long y)
作用:返回参数的差异。
参数:x – 第一个值; y – 从第一个值减去的第二个值。
(24)multiplyExact
public static int multiplyExact(int x,int y)
public static long multiplyExact(long x,long y)
作用:返回参数的乘积。
参数:x – 第一个值; y – 第二个值。
(25)incrementExact
public static int incrementExact(int a)
public static long incrementExact(long a)
作用:返回一个增加1的参数。
参数:a – a的值。
(26)decrementExact
public static int decrementExact(int a)
public static long decrementExact(long a)
作用:返回一个递减1的参数。
参数:a – a的值。
(27)negateExact
public static int negateExact(int a)
public static long negateExact(long a)
作用:返回参数的否定。
参数:a – 否定的值。
(28)toIntExact
public static int toIntExact(long value)
作用:返回long参数的值。
参数:value – 长价值。
(29)floorDiv
public static int floorDiv(int x,int y)
作用:返回小于或等于代数商的最大(最接近正无穷大)int值。
public static long floorDiv(long x,long y)
作用:返回小于或等于代数商的最大(最接近正无穷大)long值。
参数:x – 股息; y – 除数。
(30)floorMod
public static int floorMod(int x,int y)
public static long floorMod(long x,long y)
作用:返回int或long参数的底模。
参数:x – 股息; y – 除数。
(31)abs
public static int abs(int a)
public static long abs(long a)
public static float abs(float a)
public static double abs(double a)
作用:返回值为int或long或float或double的绝对值。
参数:a – 绝对值要确定的参数。
(32)max
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)
作用:返回两个int或long或float或double的较大值。
参数:a – 一个论据; b – 另一个论点。
(32)min
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)
作用:返回两个int或long或float或double的较小值。
参数:a – 一个论点; b – 另一个论点。
(33)ulp
public static double ulp(double d)
public static float ulp(float d)
作用:返回参数ulp的大小。
参数:d – 要返回ulp的浮点值。
(34)signum
public static double signum(double d)
public static float signum(float d)
作用:返回参数的signum函数。
参数:d – 要返回其d的浮点值。
(35)sinh
public static double sinh(double x)
作用:返回的双曲正弦double值。
参数:x – 要返回双曲正弦的数字。
特殊情况:如果参数是NaN,那么结果是NaN;如果参数是无限的,则结果是与参数具有相同符号的无穷大;如果参数为零,则结果为与参数相同符号的零。
注意事项:计算结果必须在精确结果2.5 ul以内。
(36)cosh
public static double cosh(double x)
作用:返回的双曲余弦double值。
参数:x – 要返回双曲余弦的数字。
特殊情况:如果参数是NaN,那么结果是NaN;如果参数是无穷大的,则结果是正无穷大;如果参数为零,则结果为1.0 。
注意事项:计算结果必须在精确结果2.5 ul以内。
(37)tanh
public static double tanh(double x)
作用:返回一个double值的双曲正切值。
参数:x – 要返回其双曲正切的数字。
特殊情况:如果参数是NaN,那么结果是NaN;如果参数为零,则结果为与参数相同符号的零;如果参数为无穷大,则结果为+1.0 ;如果参数为负无穷大,则结果为-1.0 。
注意事项:计算结果必须在精确结果2.5 ul以内。
(38)hypot
public static double hypot(double x,double y)
作用:返回sqrt( x 2 + y 2 )
参数:x – 一个值;y – 一个值。
(39)expm1
public static double expm1(double x)
作用:返回e x -1。
参数:x – e的指数。
特殊情况:如果参数是NaN,结果是NaN;如果参数为无穷大,则结果为正无穷大;如果参数为负无穷大,则结果为-1.0;如果参数为零,则结果为与参数相同符号的零。
注意事项:计算结果必须在精确结果的1 ulp之内,结果必须是半单调的。
(40)log1p
public static double log1p(double x)
作用:返回参数之和1注的自然对数。
参数:x – 一个值。
特殊情况:如果参数为NaN或小于-1,则结果为NaN;如果参数为无穷大,则结果为正无穷大;如果参数为负,则结果为负无穷大;如果参数为零,则结果为与参数相同符号的零。
注意事项: 计算结果必须在精确结果的1 ulp之内,结果必须是半单调的。
(41)copySign
public static double copySign(double magnitude,double sign)
public static float copySign(float magnitude,float sign)
作用:使用第二个浮点参数的符号返回第一个浮点参数。
参数:magnitude – 提供结果大小的参数; sign – 提供结果符号的参数。
(42)getExponent
public static int getExponent(float f)
public static int getExponent(double d)
作用:返回a的表示中使用的无偏指数float或double 。
参数:f – 一个float的值; d – 一个double的值。
(43)nextAfter
public static double nextAfter(double start,double direction)
public static float nextAfter(float start,double direction)
作用:返回与第二个参数方向相邻的第一个参数的浮点数。
参数:start – 起始浮点值; direction – 表明其价值- start的邻居或start应返回 。
(44)nextUp
public static double nextUp(double d)
public static float nextUp(float f)
作用:返回与正无穷大方向相邻的d或f的浮点值。
参数:d – 起始浮点值;f – 起始浮点值。
(45)nextDown
public static double nextDown(double d)
public static float nextDown(float f)
作用:返回与负无穷大方向相邻的d或f的浮点值。
参数:d – 起始浮点值; f – 起始浮点值。
(46)scalb
public static double scalb(double d,int scaleFactor)
public static float scalb(float f,int scaleFactor)
作用:返回d 2 scaleFactor四舍五入。