Java 杂谈っ碎片化代码Java

Java常用类库-Math类

2019-04-08  本文已影响4人  白晓明

Math包含一系列执行数值运算的方法,如初等指数、对数、平方根和三角函数等。与StricMath的一些数值方法不同,Math的等效函数的所有实现都没有定义返回相同结果的位。
实现规范的质量涉及两个方面:返回结果的准确性和方法的单调性。


1. 字段摘要(硬翻译:Field Summary)

/*
* Math类的静态属性,即不可修改的属性
* static double E:自然对数的底。
*            比其他任何值都接近e的双精度值
* static double PI:圆周率(圆的周长与直径之比)。
*            比其他任何值都接近PI的双精度值
*/
System.out.println(Math.E);
System.out.println(Math.PI);

2. 方法摘要

/*
* 返回指定double类型参数的正弦值。特殊情况:
*      如果参数是NaN或无穷大,则结果为NaN。
*      如果参数时0,则结果为0,符号与参数相同。
*/
//使用toRadians()方法将角度转换为弧度
System.out.println(Math.sin(Math.toRadians(90)));//1.0
System.out.println(Math.sin(0));//0.0
/*
* 返回指定double类型参数的余弦值。特殊情况:
*        如果参数时NaN或无穷大,则结果为NaN。
*/
System.out.println(Math.cos(Math.toRadians(45.0)));//0.707
/*
* 返回指定double类型参数的正切值。特殊情况:
*      如果参数是NaN或无穷大,则结果为NaN。
*      如果参数时0,则结果为0,符号与参数相同。
*/
System.out.println(Math.tan(Math.toRadians(45.0)));//1
/*
* 返回指定double类型参数的反正弦值。返回角度在-pi/2到pi/2范围内。特殊情况:
*       如果参数为NaN或其绝对值大于1,则结果为NaN。
*       如果参数为0,则结果为0,符号与参数相同。
*/
//使用toDegrees将参数转成角度
System.out.println(Math.toDegrees(Math.asin(0.7071)));//45°
/*
* 返回指定double类型参数的反余弦值。返回值在0到pi范围。特殊情况:
*       如果参数为NaN或其绝对值大于1,则结果为NaN。
*/
System.out.println(Math.toDegrees(Math.acos(0)));//90°
/*
* 返回指定double类型参数的反正切值。返回角度在-pi/2到pi/2范围内。特殊情况:
*       如果参数为NaN,则结果为NaN。
*       如果参数为0,则结果为0,符号与参数相同。
*/
System.out.println(Math.toDegrees(Math.atan(1)));//45°
/*
*  将以度为单位的角度转换为以弧度为单位的近似等效角度。从度到弧度的转换通常是不精确的。
*/
System.out.println(Math.toRadians(45.0));//0.785
/*
*  将以弧度为单位的角度转换为以度为单位的近似等效角度。从弧度到度数的转换通常是不精确的。
*/
System.out.println(Math.toDegrees(0.785));//45°
/*
*  返回自然数底数e的参数次方。特殊情况:
*        如果参数值是NaN,则返回NaN。
*        如果参数值是正无穷大,则返回正无穷大。
*        如果参数值是负无穷大,则返回0。
*/
System.out.println(Math.exp(4.0));//54.60
/*
*  返回参数的自然数底数的对数值。特殊情况:
*        如果参数为NaN或小于0,则结果为NaN。
*        如果参数为正无穷大,则结果为正无穷大。
*        如果参数为0,则结果为负无穷大。
*/
System.out.println(Math.log(54.60));//4.0
/*
*  返回以10为底数的对数值。特殊情况:
*        如果参数为NaN或小于0,则返回NaN。
*        如果参数为正无穷大,则结果为正无穷大。
*        如果参数为0,则结果为负无穷大。
*        如果整数n的参数等于10n,则结果为n。
*/
System.out.println(Math.log10(100));//2.0
/*
*  求参数的算术平方根。特殊情况:
*        如果参数为NaN或小于0,则结果为NaN。
*        如果参数为正无穷大,则结果为正无穷大。
*        如果参数为0,则结果与参数相同。
*/
System.out.println(Math.sqrt(-4));//NaN
System.out.println(Math.sqrt(16));//4.0
System.out.println(Math.sqrt(0));//0.0
/*
*  返回参数的绝对值。
*/
System.out.println(Math.abs(-2.5));//2.5
/*
*  返回大于或等于参数的最小整数。特殊情况:
*      如果参数值已经等于数学整数,则结果与参数相同。
*      如果参数时NaN或无穷大或0,则结果与参数相同。
*      如果参数值小于0但大于-1.0,则结果为0.  
*/
System.out.println(Math.ceil(1.0));//1.0
System.out.println(Math.ceil(-0.5));//-0.0
/*
*  返回小于等于给定参数的最大整数。特殊情况:
*        如果参数值已经等于数学整数,则结果与参数相同。
*        如果参数时NaN或无穷大或0,则结果与参数相同。
*/
System.out.println(Math.floor(2.8));//2.0
System.out.println(Math.floor(-0.5));//-1.0
/*
* 返回与参数最接近的整数
*/
System.out.println(Math.rint(1.6));//2.0
/*
*  返回第一个参数的幂次方。
/
System.out.println(Math.pow(2, 2));//4.0
/*
*  四舍五入。
*/
System.out.println(Math.round(0.6));//1.0
/*
*  返回随机数
*/
System.out.println(Math.random());//0.264
/*
*  返回两个参数中的最小值。
*/
System.out.println(Math.min(2.6, 4.5));//2.6
/*
*  返回两个参数中的最大值。
*/
System.out.println(Math.max(2.6, 4.5));//4.5

其他需要请查看官方API

上一篇下一篇

猜你喜欢

热点阅读