Java的类包提供了一些常用类方便开发人员使用,例如我们之前讲过的:将基本数据类型封装起来的包装类 。接下来我们要学习解决常见数学问题的Math类。
一、Math类概述
开发人员可以使用运算符完成一些简单的数学运算,但是如果涉及到复杂运算,我们就需要用到Java提供的Math类,Math类中包含许多数学方法,比如最大值、最小值、绝对值、三角函数、指数运算、对数运算等等。除此之外,和Number包装类的Integer类一样,Math类也提供一些数字常量,比如PI、E等。
1、调用Math类的方法
Math类位于java.lang包中,封装着一些数学计算方法和常量。Math类中的数学方法都被定义为static形式,所以在程序中可以直接通过Math类的类型调用某个数学方法:
Math.数学方法
例如:
System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));
System.out.println("0度的余弦值:" + Math.cos(0));
System.out.println("60度的正切值:" + Math.tan(Math.PI/3));
System.out.println("1的反正切值: " + Math.atan(1));
Console:
90 度的正弦值:1.0
0度的余弦值:1.0
60度的正切值:1.7320508075688767
1的反正切值: 0.7853981633974483
2、调用Math类的常量
在Math类中除了数学方法外还存在一些数学常量,比如PI、E等,这些数学常量作为Math类的成员变量存在,调用起来也很简单:
Math.PI; //调用圆周率π
Math.E; //调用自然对数底数e
例如:
System.out.println("圆周率π的值是:"+Math.PI);
System.out.println("自然对数底数e的值是:"+Math.E);
System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2));
Console:
圆周率π的值是:3.141592653589793
自然对数底数e的值是:2.718281828459045
π/2的角度值:90.0
二、Math类常用运算方法
1、取值运算
方法 | 返回值 | 功能描述 |
---|---|---|
min(double a,double b) | double | 返回两个双精度参数中的最小值。 |
min(int a, int b) | int | 返回两个整型参数中的最小值。 |
min(float a , float b) | float | 返回两个浮点型参数中的最小值。 |
min(long a ,long b) | long | 返回两个长整型参数中的最小值。 |
max(double a,double b) | double | 返回两个双精度参数中的最大值。 |
fma(double a,double b,double c) | double | 返回三个双精度参数中的最大值。 |
abs(int a) | int | 返回整型参数的绝对值。 |
abs(float a) | float | 返回浮点型参数的绝对值。 |
abs(double a ) | double | 返回双精度参数的绝对值。 |
abs(long a) | long | 返回长整型参数的绝对值。 |
random() | double | 生成一个双精度的随机数 |
2、取整函数
方法 | 返回值 | 功能描述 |
---|---|---|
rint(float a) | float | 返回与参数最接近的整数 |
round(double a) | double | 四舍五入,即将原来的数字加上 0.5 后再向下取整,返回双精度值 |
round(folat a) | float | 四舍五入,即将原来的数字加上 0.5 后再向下取整,返回浮点值 |
floor(double a) | double | 向下取整 |
ceil(double a) | double | 向上取整 |
3、三角函数
方法 | 返回值 | 功能描述 |
---|---|---|
sin(double a) | double | 正弦 |
cos(double a) | double | 余弦 |
tan(double a) | double | 正切 |
asin() | double | 反正弦 |
acos() | double | 反余弦 |
atan() | double | 反正切 |
atan2() | double | 将笛卡尔坐标转换为极坐标, 并返回极坐标的角度值。 |
toRadians(double angded) | double | 将参数转化为角度。 |
toDegrees(double angdeg) | double | 将角度转换为弧度。 |
4、指对运算
方法 | 返回值 | 功能描述 |
---|---|---|
exp(double a) | double | 自然底数指数运算 |
log(double a) | double | 自然底数对数运算 |
log10(double a) | double | 以10为底的对数运算 |
sqrt(double a ) | double | 平方根 |
cbrt(double a ) | double | 立方根 |
pow(double a, double b) | double | a的b次方 |
三、Math类方法的应用
实例1:使用Math类取最大值、最小值、绝对值及生成随机数
public class