小白学java——Math类方法总结
2021/10/3 14:10:05
本文主要是介绍小白学java——Math类方法总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Math
绝对值
1. public static int abs(int a) {
return (a < 0) ? -a : a;
}
2. public static long abs(long a) {
return (a < 0) ? -a : a;
}
3. public static float abs(float a) {
return (a <= 0.0F) ? 0.0F - a : a;
}
4. public static double abs(double a) {
return (a <= 0.0D) ? 0.0D - a : a;
}
返回绝对值
加法
1. public static int addExact(int x, int y) {
int r = x + y;
// HD 2-12 Overflow iff both arguments have the opposite sign of the result
if (((x ^ r) & (y ^ r)) < 0) {
throw new ArithmeticException("integer overflow");
}
return r;
}
2.public static long addExact(long x, long y) {
long r = x + y;
// HD 2-12 Overflow iff both arguments have the opposite sign of the result
if (((x ^ r) & (y ^ r)) < 0) {
throw new ArithmeticException("long overflow");
}
return r;
}
返回其参数的总和,如果结果溢出则抛出异常
返回带有第二个浮点参数符号的第一个浮点参数
1.Math.copySign(double magnitude,double sign)
2.Math.copySign(float magnitude, float sign)
double a = Math.copySign(2.3, -10.0);
System.out.println(a);
结果为:-2.3
返回大于等于或小于等于的最小值或最大值
1.public static double ceil(double a) {
return StrictMath.ceil(a); // default impl. delegates to StrictMath
}
返回大于或等于参数且等于数学整数的最小值(最接近负无穷大) double
2.public static double floor(double a) {
return StrictMath.floor(a); // default impl. delegates to StrictMath
}
返回小于或等于参数且等于数学整数的最大值(最接近正无穷大) double
两数之间找最大值
1.public static int max/min(int a, int b) {
return (a >= b) ? a : b;
}
2.public static long max/min(long a, long b) {
return (a >= b) ? a : b;
}
3.public static float max/min(float a, float b) {
if (a != a)
return a; // a is NaN
if ((a == 0.0f) &&
(b == 0.0f) &&
(Float.floatToRawIntBits(a) == negativeZeroFloatBits)) {
// Raw conversion ok since NaN can't map to -0.0.
return b;
}
return (a >= b) ? a : b;
}
4.public static double max/min(double a, double b) {
if (a != a)
return a; // a is NaN
if ((a == 0.0d) &&
(b == 0.0d) &&
(Double.doubleToRawLongBits(a) == negativeZeroDoubleBits)) {
// Raw conversion ok since NaN can't map to -0.0.
return b;
}
return (a >= b) ? a : b;
}
返回两个值中较大的
四舍五入
1.Math.round(double a/float a);
System.out.println(Math.round(-100.5)) -100 小数的负数的四舍五入与常规不同,需注意
返回与参数最接近的 long/int ,并将关系四舍五入为正无穷大
除法x/y
2.Math.floorDiv(int x, int y) 返回小于或等于代数商的最大值(最接近正无穷大) int
Math.floorDiv(long x, int y) 返回小于或等于代数商的最大值(最接近正无穷大) long
Math.floorDiv(long x, long y) 返回小于或等于代数商的最大值(最接近正无穷大) long
递减递增
3.public static int decrementExact(int a/long a) {
if (a == Integer.MIN_VALUE) {
throw new ArithmeticException("integer overflow");
}
return a - 1;
}
public static int incrementExact(int a) {
if (a == Integer.MAX_VALUE) {
throw new ArithmeticException("integer overflow");
}
return a + 1;
}
返回参数递减1,如果结果溢出 int/long则抛出异常
返回参数递加1,如果结果溢出 int/long则抛出异常
A*B+C
1..Math.fma(double a, double b, double c);
Math.fma(float a, float b, float c);
乘法
1.Math.multiplyExact(int x, int y);返回参数的乘积,如果结果溢出 int则抛出异常
Math.multiplyExact(long x, int y);返回参数的乘积,如果结果溢出 long则抛出异常
Math.multiplyExact(long x, long y);返回参数的乘积,如果结果溢出 long则抛出异常
相反数
1.Math.negateExact(int a);回参数的否定,如果结果溢出 int则抛出异常
Math.negateExact(long a); 回参数的否定,如果结果溢出 int则抛出异常
幂
1.Math.pow(double a, double b);返回第一个参数的值,该值是第二个参数的幂
减法x-y
1.Math.subtractExact(int x, int y)返回参数的差异,如果结果溢出 int则抛出异常
Math.subtractExact(long x, long y);返回参数的差异,如果结果溢出 long则抛出异常
这篇关于小白学java——Math类方法总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
- 2024-11-24细说敏捷:敏捷四会之每日站会
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解