java学习记录10
Math类总结
Math.abs(int a)
返回 int
值的绝对值。
int a = 10;
System.out.println(Math.abs(a)); //10
int b = -10;
System.out.println(Math.abs(b)); //10
Math.acos(double a)
返回值的反余弦;返回的角度在 0.0 到pi.
返回指定 double 类型参数的反余弦值,如果指定的参数大于 1,则返回 NaN。
返回值在 0 到 Math.PI 之间。
double acos = Math.acos(0.5);
System.out.println(acos); //1.0471975511965979
Math.addExact(int x, int y)
返回其参数的总和,如果结果溢出 int
则抛出异常。
int i = Math.addExact(100, 100);
System.out.println(i); //200
Math.cbrt(double a)
返回 double
值的立方根。
double cbrt = Math.cbrt(27);
System.out.println(cbrt); //3.0
Math.ceil(double a)
返回大于或等于参数且等于数学整数的最小(最接近负无穷大)double
值。
double ceil = Math.ceil(10.4);
System.out.println(ceil); //11.0
Math.copySign(double magnitude, double sign)
返回带有第二个浮点参数符号的第一个浮点参数。
float v = Math.copySign(10, -2);
System.out.println(v); // -10.0
float v1 = Math.copySign(10, 2);
System.out.println(v1); // 10.0
Math.cosh(double x)
返回 double
值的双曲余弦值。
double cosh = Math.cosh(10);
System.out.println(cosh); //11013.232920103324
Math.exp(double a)
返回欧拉数e提高到 double
值的幂。
double exp = Math.exp(1);
System.out.println(exp); //2.718281828459045
Math.expml(double x)
返回ex -1.
double v = Math.expm1(1);
System.out.println(v); //1.718281828459045
Math.floor(double a)
返回小于或等于参数且等于数学整数的最大(最接近正无穷大)double
值。
double floor = Math.floor(3.6);
System.out.println(floor); //3.0
Math.floorDiv(int x, int y)
返回小于或等于代数商的最大(最接近正无穷大)int
值。
int i = Math.floorDiv(70, 1);
System.out.println(i); //70
int j = Math.floorDiv(70, 2);
System.out.println(j); //35
int k = Math.floorDiv(70, 30);
System.out.println(k); //2
Math.floorMod(int x, int y)
返回 int
参数的底部模数。
取模运算是求两个数相除的余数。
int i = Math.floorMod(10, 3);
System.out.println(i); //1
int j = Math.floorMod(15, 3);
System.out.println(j); //0
Math.fma(double a, double b, double c)
返回三个参数的融合乘加;也就是说,返回前两个参数与第三个参数相加的精确乘积,然后四舍五入到最接近的 double 。
double fma = Math.fma(6.0,6.0,11.1);
System.out.println(fma); //47.1
Math.getExponent(double d)
返回在 double
的表示中使用的无偏指数。
///该方法从表示中返回2的指数部分。
int exponent1 = Math.getExponent(8);
System.out.println(exponent1); //3
int exponent2 = Math.getExponent(10);
System.out.println(exponent2); //3
int exponent = Math.getExponent(128.0);
System.out.println(exponent); //7
Math.hypot(double x, double y)
返回平方根(x2 +y2) 没有中间溢出或下溢。
double hypot = Math.hypot(8, 6);
System.out.println(hypot); //10.0
Math.IEEEremainder(double f1, double f2)
按照 IEEE 754 标准的规定计算两个参数的余数运算。
double v = Math.IEEEremainder(100, 11);
System.out.println(v); //1.0
Math.log(double a)
返回自然对数(基数e) 的 double
值。
double log = Math.log(Math.exp(1));
System.out.println(log); //1.0
Math.log10(double a)
返回 double
值的以 10 为底的对数
double v = Math.log10(100);
System.out.println(v); //2.0
Math.negateExact(int a)
返回参数的否定,如果结果溢出 int
则抛出异常。
int i = Math.negateExact(10);
System.out.println(i); //-10
Math.pow(double a, double b)
返回第一个参数的第二个参数次方的值。
double pow = Math.pow(2, 5);
System.out.println(pow); //32.0
Math.random()
返回带正号的 double
值,大于或等于 0.0
且小于 1.0
。
double random = Math.random();
System.out.println(random); //0.21444985524476223
Math.rint(double a)
返回值最接近参数且等于数学整数的 double
值。
double rint = Math.rint(11.2);
System.out.println(rint); //11
double rint1 = Math.rint(11.5);
System.out.println(rint1); //12.0
Math.round(double a)
返回最接近参数的 long
,四舍五入到正无穷大。
long round = Math.round(10.5);
System.out.println(round); //11
long round1 = Math.round(10.4);
System.out.println(round1); //10
Math.scalb(double d, int scaleFactor)
返回 d
× 2scaleFactor
四舍五入就好像是由一个正确舍入的浮点乘法执行的。
float scalb = Math.scalb(10, 2);
System.out.println(scalb); //40.0
Math.signum(double d)
返回参数的符号函数;如果参数为零则为零,如果参数大于零则为 1.0,如果参数小于零则为 -1.0。
double signum = Math.signum(10.0);
System.out.println(signum); //1.0
double signum1 = Math.signum(-10.0);
System.out.println(signum1); //-1.0
Math.sqrt(double a)
返回 double
值的正确四舍五入的正平方根。
double sqrt = Math.sqrt(9);
System.out.println(sqrt); //3.0
Math.subtractExact(int x, int y)
返回参数的差异,如果结果溢出 int
则抛出异常。
int i = Math.subtractExact(100, 10);
System.out.println(i); //90
Math.toDegrees(double angrad)
将以弧度测量的角度转换为近似等效的以度测量的角度。
//1弧度= 180°/π= 57.295779513°
double degrees = Math.toDegrees(10.0);
System.out.println(degrees); //572.9577951308232
Math.toRadians(double angdeg)
将以度为单位的角度转换为近似等效的以弧度为单位的角度。
//度=弧度×180°/π
double radians = Math.toRadians(90.0);
System.out.println(radians); //1.5707963267948966