3.7 java.lang.Math类

java.lang.Math类提供方法用于帮助执行基本数学函数的运算,如三角函数、求随机数等。本节将主要介绍如何使用java.lang.Math类的常用方法进行数学函数计算。

提示:Math类的属性和方法都是静态的,并且Math类不能创建对象。

3.7.1 数学常量

为了计算方便,Math类还提供了数学计算中常用的两个重要常量,都是double类型,如下所示。

· Math.PI:圆周率常量。

· Math.E:普通常量。

读者可以用如下的代码来打印这两个常量。

    1   //代码实现
    2   public class Sample3_16
    3   {
    4        public static void main(String args[])
    5        {
    6            System.out.println(Math.PI);  //打印圆周率
    7            System.out.println(Math.E);   //打印普通常量
    8        }
    9   }

其打印的结果为“3.141592653589793”与“2.718281828459045”,正是这两个常量的值,在计算中如果需要可以直接使用,非常方便。

3.7.2 常用数学函数方法

1.abs()方法

abs()方法返回被操作数的绝对值,例如:

    1   int x=Math.abs(50);       //返回50
    2   long x=Math.abs(-50L);    //返回50L
    3   float x=Math.abs(50.0F);  //返回50.0F
    4   double x=Math.abs(50.0);  //返回50.0

2.ceil()方法

ceil()方法返回一个大于或等于操作数的最近整数值,例如:

    1   Math.ceil(8.7);       //返回9.0
    2   Math.ceil(8.2);       //返回9.0
    3   Math.ceil(9.0);       //返回9.0

需要注意操作数是负数的情况,例如:

    1   Math.ceil(-9.5);      //返回−9.0
    2   Math.ceil(-9.0);      //返回−9.0
    3   Math.ceil(-9.9);      //返回−9.0

3.floor()方法

floor()方法返回一个小于或等于操作数的最近整数值,例如:

    1   Math.floor (8.7);//返回8.0
    2   Math.floor (8.2);//返回8.0
    3   Math.floor (9.0);//返回8.0

需要注意操作数是负数的情况,例如:

    1   Math.floor (-9.5);    //返回−10.0
    2   Math.floor (-9.0);    //返回−10.0
    3   Math.floor (-9.9);    //返回−10.0

4.max()方法

max()方法返回两个操作数中较大的一个,例如:

    1   Math.max(100,210);            //返回210
    2   Math.max(100L,210L);          //返回210L
    3   Math.max(100.0F,210.0F);      //返回210.0F
    4   Math.max(100.0,210.0);        //返回210.0

5.min()方法

min()方法返回两个操作数中较小的一个,例如:

    1   Math.min (100,210);           //返回100
    2   Math.min (100L,210L);         //返回100L
    3   Math.min (100.0F,210.0F);     //返回100.0F
    4   Math.min (100.0,210.0);       //返回100.0

6.random()方法

random()方法返回大于或等于0.0并且小于1.0的随机double型值,此方法不带任何参数,例如:

    int a=(int)(Math.random()*10);     //返回大于或等于0且小于10的随机整数

提示:按照上述例子的思路可以求任意范围的随机数。

7.round()方法

round()方法返回最接近操作数的整数(四舍五入),其算法是将操作数加上0.5,并截断,例如:

    1   Math.round(11.5);         //返回12
    2   Math.round(-11.5);        //返回−11

8.sin()方法

sin()将返回给定角的正弦,其操作数是double型,角度用弧度表示。角度可以使用Math.toRadians()转换为弧度。例如:

    Math.sin(Math.toRadians(90.0));    //求90度角的正弦值,返回1.0

9.cos()方法

cos()返回给定角的余弦,其操作数是double型,角度用弧度表示,例如:

    Math.cos(Math.toRadians(0.0)); //求0度角的余弦值,返回1.0

10.tan()方法

tan()方法返回给定角的正切,其操作数是double型,角度用弧度表示,例如:

    Math.tan(Math.toRadians(45.0));    //求45度角的正切值,返回1.0

11.sqrt()方法

sqrt()方法返回给定值的平方根,其操作数是double型。例如:

    1   Math.sqrt(4.0);       //返回2.0
    2   Math.sqrt(-4.0);      //返回NaN

12.toDegrees()方法

toDegrees()方法返回给定弧度的角度值,例如:

    Math.toDegrees(Math.PI*0.5);       //返回90.0

提示:想获取更多关于这些方法的详细信息可查阅相应的API,本书不再一一详细介绍。