public final class Math
Math类中,都是静态方法
彩色的是觉得还能用得上 ( ̄ェ ̄;)
语文较差的,这个会很方便
字段
static double E;//自然对数的基数e
static double PI;//圆周率π
静态方法
调用方式 Math.下面的方法名(方法体参数对应)
-
double abs (double a)
- 返回值: ∣ \mid ∣ a ∣ \mid ∣ .(a的绝对值)
- 此方法的重载类型还有 int、float、long.
-
double acos (double a)
- 返回值:
arccos a
,a
表示弧度 - 结果在 0 ~ π \pi π 之间
- 返回值:
-
int addExact ( int x , int y )
- 返回值:
x + y
,数据溢出,会抛异常 - 重载还有long类型
- 返回值:
-
double asin ( double a )
- 反正弦,
arcsin a
- 结果范围在 - π 2 \frac{\pi}{2} 2π ~ π 2 \frac{\pi}{2} 2π
- 反正弦,
-
double atan ( double a )
- 反正切,
arctan a
- 结果范围在 - π \pi π/2 ~ π \pi π/2.
- 反正切,
-
double atan2 ( double x , double y )
- 直角坐标 (
x
,y
)转化为极坐标 ( R, θ \theta θ ),并返回 θ \theta θ 弧度
- 直角坐标 (
-
double cbrt ( double a )
- 返回值: a 3 \sqrt[3]{a} 3a
-
double ceil ( double a )
- 向上取整
- 1.3---->2.0 -2.9----->-2
-
float copySign ( float magnitude, float sign )
-
sign确定正负,magnitude确定值
Math.copySign(-12,6);//12
-
重载还有double
-
-
double cos ( double a )
- 返回余弦值,
a
是弧度
- 返回余弦值,
-
double cosh ( double x )
- 双曲余弦值
-
long decrementExact ( long a )
-
返回值 a - 1,如果结果溢出
long
则抛出异常。 -
重载有int
这个自减比较特殊,他不会改变量
a
的值,所以你要这样玩int a1 = 100; int b = a1; for(int i=0;i<10;i++){ b = Math.decrementExact(b); } System.out.println(b);
-
-
double expm1 ( double x )
- 返回值:ex
-
double expm1 ( double x )
- 返回值:ex - 1
-
double floor ( double a )
- 返回值,一个整数
Math.floor(5.9);//5
Math.floor(-3.1);//-4
- 返回值,一个整数
-
int floorDiv ( int a , int b )
- 返回值:floor(a/b)
- 重写有long
-
int floorMod ( int a , int b )
- 返回值:a - floorDiv(a, b) * b
- 可以理解为取余,只不过,余数要和
b
同号(b是负数,这个余数就要<=0)
- 可以理解为取余,只不过,余数要和
- 重写有long
- 返回值:a - floorDiv(a, b) * b
-
float fma ( float a , float b , float c )
- 返回值:a × \times × b + c
- 返回与第三个参数相加的前两个参数的精确乘积,然后舍入一次到最接近的
float
。 - 重载有double
-
double getExponent ( float f )
- 简单点说,输出准确,不会有浮点偏差
- 重载有float
-
double hypot(double x, double y)
- 返回sqrt( x2 + y2 ),没有中间溢出或下溢。
-
double IEEEremainder(double f1, double f2)
- 根据IEEE 754标准规定,计算两个参数的余数运算。
-
long incrementExact ( long a )
-
返回值 a+1,如果结果溢出
long
则抛出异常。 -
重载有int
这个自增和前面的自减一样
-
-
double log ( double x )
-
返回值: ln \ln ln x
-
使用换底公式,可以实现 log a b \log_a b logab 的计算
log a b = log c b log c a \log_a b = \frac{\log_c b}{\log_c a} logab=logcalogcb
/** * a是底数,b是对数 */ public double logx(int a,int b){ if(a<=0||a==1){ throw new RuntimeException("(ー`´ー) 底数取值范围(0,1)U(1,+∞)"); //你也可以和谐一下,不抛异常 } return Math.log(b)/Math.log(a); }
-
整理资料,也不能忘记学习和完善
-
double log10 ( double x )
- 返回值: lg \lg lg x
-
double log1p ( double x )
- 返回值: ln \ln ln (1 + x)
-
int max ( int a , int b )
- 返回
a
、b
中最大的值 - 重载还有:float、long、double
- 返回
-
int min ( int a , int b )
- 返回
a
、b
中最小的值 - 重载还有:float、long、double
- 返回
-
long multiplyExact ( long a , long b )
- 返回值为 a × \times × b 的结果,超出抛异常
-
long multiplyExact ( long a , long b )
- 返回值为 a × \times × b 的结果,超出抛异常
- 重载的都是整数类型的,反正不能超过long最大值,否则抛异常
-
long multiplyFull ( int a , int b )
- 返回值为 a × \times × b 的确切结果
-
long multiplyHigh (long x , long y)
-
返回值:x × \times × y ÷ \div ÷ 264。
说实话中文文档真的晦涩
-
-
long negateExact (long a)
- 返回值为 - a,值溢出,抛异常
- 重载有int
-
double nextAfter (double start, double direction)
- 返回第二个参数方向上第一个参数旁边的浮点数。
- 还有一重载,返回值和start为float类型
-
double nextDown(double d)
- 返回负无穷大方向上与 d相邻的浮点值。
Math.nextDown(10.4) --------> 10.399999999999999
Math.nextDown(10.5) --------> 10.499999999999998
-
float nextUp(float f)
- 返回正无穷大方向上与
f
相邻的浮点值。 - 重载还有double
Math.nextUp(10.5) --------> 10.500000000000002
Math.nextUp(10.6) --------> 10.600000000000001
Math.nextUp(10.599999999999998) --------> 10.6
- 返回正无穷大方向上与
-
double pow ( double a , double b)
-
返回值为 ab.
b为分数时,表示开平方根。
如:b = 3/4,返回值: a 3 4 \sqrt[4]{a^3} 4a3
(~ ̄▽ ̄)~ 思想不滑坡
-
-
double random ()
- 会自动生成一个随机小数,其范围 [ 0 , 1).
-
double rint ( double a )
- 取最近的整数值,作为结果(视作都是正数的四舍五入就行,然后再添加符号位)
-
long round ( double a )
- 四舍五入(为正)
System.out.println(Math.round(10.50));//11
System.out.println(Math.round(10.49));//10
System.out.println(Math.round(-10.50));//-10
System.out.println(Math.round(-10.51));//-11- 重载有 int 作为返回值所对应的 float
-
double scalb ( double d , double x )
- d × \times × 2x 结果作为返回值
- 重载方法有float
-
double signum ( double d )
- 正负号函数,正数返回1.0f,负数返回-1.0f
- 重载方法还有float
-
double sin ( double a )
- 返回正弦值
-
double sinh ( double x )
- 双曲正弦值
-
double sqrt ( double x )
- 返回
x
的开平方
- 返回
-
int subtractExact ( int x , int y )
- 返回值为:x - y,前提是不溢出,否则抛异常
- 还重载有long
-
double tan ( double a )
- 返回正切值
-
double tanh ( double x )
- 双曲正切值( ex - e-x )/( ex + e-x )
-
double toDegrees ( long angrad )
- 将弧度,转化为角度
-
int toIntExact ( long angrad )
- long类型值转化为int类型,溢出,就抛出异常
-
double toRadians ( double angdeg )
- 将角的度数,转化为弧度
-
double ulp ( double a )
- 返回参数的ulp大小。
- 重载有 float
- 再详细了解ulp访问https://blog.csdn.net/cumtb2002/article/details/107795065