Java常用类库-Math类

作者: 白晓明 | 来源:发表于2019-04-08 16:59 被阅读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. 方法摘要

    • 获取正弦值( sin
    /*
    * 返回指定double类型参数的正弦值。特殊情况:
    *      如果参数是NaN或无穷大,则结果为NaN。
    *      如果参数时0,则结果为0,符号与参数相同。
    */
    //使用toRadians()方法将角度转换为弧度
    System.out.println(Math.sin(Math.toRadians(90)));//1.0
    System.out.println(Math.sin(0));//0.0
    
    • 获取余弦值( cos
    /*
    * 返回指定double类型参数的余弦值。特殊情况:
    *        如果参数时NaN或无穷大,则结果为NaN。
    */
    System.out.println(Math.cos(Math.toRadians(45.0)));//0.707
    
    • 获取正切值( tan
    /*
    * 返回指定double类型参数的正切值。特殊情况:
    *      如果参数是NaN或无穷大,则结果为NaN。
    *      如果参数时0,则结果为0,符号与参数相同。
    */
    System.out.println(Math.tan(Math.toRadians(45.0)));//1
    
    • 获取反正弦值( asin
    /*
    * 返回指定double类型参数的反正弦值。返回角度在-pi/2到pi/2范围内。特殊情况:
    *       如果参数为NaN或其绝对值大于1,则结果为NaN。
    *       如果参数为0,则结果为0,符号与参数相同。
    */
    //使用toDegrees将参数转成角度
    System.out.println(Math.toDegrees(Math.asin(0.7071)));//45°
    
    • 获取反余弦值( acos
    /*
    * 返回指定double类型参数的反余弦值。返回值在0到pi范围。特殊情况:
    *       如果参数为NaN或其绝对值大于1,则结果为NaN。
    */
    System.out.println(Math.toDegrees(Math.acos(0)));//90°
    
    • 获取反正切值( atan
    /*
    * 返回指定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的参数次方
    /*
    *  返回自然数底数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为底数的对数值
    /*
    *  返回以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

    相关文章

      网友评论

        本文标题:Java常用类库-Math类

        本文链接:https://www.haomeiwen.com/subject/mwcuiqtx.html