Java基础知识强化79:被遗忘的Java Math类

1. Math类概述

Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

2. 成员变量 和 成员方法(常用的)

(1)成员变量

1 public  static  final  double PI
1 public  static  final  double E

(2)成员方法

1 public static int abs(int a):绝对值
2 public static double ceil(double a):向上取整
3 public static double floor(double a):向下取整
4 public static int max(int a,int b):最大值 (min自学)
5 public static double pow(double a,double b):a的b次幂
6 public static double random():随机数 [0.0,1.0),0.0 <= x < 1.0
7 public static int round(float a) 四舍五入(参数为double的自学)
8 public static double sqrt(double a):正平方根    

 

3. 演示案例

 1 package cn.itcast_01;
 2 
 3 /*
 4  * Math:用于数学运算的类。
 5  * 成员变量:
 6  *         public static final double PI
 7  *         public static final double E
 8  * 成员方法:
 9  *         public static int abs(int a):绝对值
10  *        public static double ceil(double a):向上取整
11  *        public static double floor(double a):向下取整
12  *        public static int max(int a,int b):最大值 (min自学)
13  *        public static double pow(double a,double b):a的b次幂
14  *        public static double random():随机数 [0.0,1.0)
15  *        public static int round(float a) 四舍五入(参数为double的自学)
16  *        public static double sqrt(double a):正平方根
17  */
18 public class MathDemo {
19     public static void main(String[] args) {
20         // public static final double PI
21         System.out.println("PI:" + Math.PI);
22         // public static final double E
23         System.out.println("E:" + Math.E);
24         System.out.println("--------------");
25 
26         // public static int abs(int a):绝对值
27         System.out.println("abs:" + Math.abs(10));
28         System.out.println("abs:" + Math.abs(-10));
29         System.out.println("--------------");
30 
31         // public static double ceil(double a):向上取整
32         System.out.println("ceil:" + Math.ceil(12.34));
33         System.out.println("ceil:" + Math.ceil(12.56));
34         System.out.println("--------------");
35 
36         // public static double floor(double a):向下取整
37         System.out.println("floor:" + Math.floor(12.34));
38         System.out.println("floor:" + Math.floor(12.56));
39         System.out.println("--------------");
40 
41         // public static int max(int a,int b):最大值
42         System.out.println("max:" + Math.max(12, 23));
43         // 需求:我要获取三个数据中的最大值
44         // 方法的嵌套调用
45         System.out.println("max:" + Math.max(Math.max(12, 23), 18));
46         // 需求:我要获取四个数据中的最大值
47         System.out.println("max:"
48                 + Math.max(Math.max(12, 78), Math.max(34, 56)));
49         System.out.println("--------------");
50 
51         // public static double pow(double a,double b):a的b次幂
52         System.out.println("pow:" + Math.pow(2, 3));
53         System.out.println("--------------");
54 
55         // public static double random():随机数 [0.0,1.0)
56         System.out.println("random:" + Math.random());
57         // 获取一个1-100之间的随机数
58         System.out.println("random:" + ((int) (Math.random() * 100) + 1));
59         System.out.println("--------------");
60 
61         // public static int round(float a) 四舍五入(参数为double的自学)
62         System.out.println("round:" + Math.round(12.34f));
63         System.out.println("round:" + Math.round(12.56f));
64         System.out.println("--------------");
65         
66         //public static double sqrt(double a):正平方根
67         System.out.println("sqrt:"+Math.sqrt(4));
68     }
69 }

运行效果如下:

 

 

4. 总结一下Math类的方式

 1 public class MathTest  
 2 {  
 3     public static void main(String[] args)   
 4     {  
 5         /*---------下面是三角运算---------*/  
 6         //将弧度转换角度  
 7         System.out.println("Math.toDegrees(1.57):"   
 8             + Math.toDegrees(1.57));   
 9         //将角度转换为弧度  
10         System.out.println("Math.toRadians(90):"   
11             + Math.toRadians(90));  
12         //计算反余弦,返回的角度范围在 0.0 到 pi 之间。  
13         System.out.println("Math.acos(1.2):" + Math.acos(1.2));   
14         //计算反正弦;返回的角度范围在 -pi/2 到 pi/2 之间。   
15         System.out.println("Math.asin(0.8):" + Math.asin(0.8));   
16         //计算反正切;返回的角度范围在 -pi/2 到 pi/2 之间。   
17         System.out.println("Math.atan(2.3):" + Math.atan(2.3));   
18         //计算三角余弦。  
19         System.out.println("Math.cos(1.57):" + Math.cos(1.57));   
20         //计算值的双曲余弦。   
21         System.out.println("Math.cosh(1.2 ):" + Math.cosh(1.2 ));   
22         //计算正弦  
23         System.out.println("Math.sin(1.57 ):" + Math.sin(1.57 ));   
24         //计算双曲正弦  
25         System.out.println("Math.sinh(1.2 ):" + Math.sinh(1.2 ));  
26         //计算三角正切  
27         System.out.println("Math.tan(0.8 ):" + Math.tan(0.8 ));   
28         //计算双曲正切  
29         System.out.println("Math.tanh(2.1 ):" + Math.tanh(2.1 ));   
30         //将矩形坐标 (x, y) 转换成极坐标 (r, thet));   
31         System.out.println("Math.atan2(0.1, 0.2):" + Math.atan2(0.1, 0.2));  
32         /*---------下面是取整运算---------*/  
33         //取整,返回小于目标数的最大整数。  
34         System.out.println("Math.floor(-1.2 ):" + Math.floor(-1.2 ));   
35         //取整,返回大于目标数的最小整数。  
36         System.out.println("Math.ceil(1.2):" + Math.ceil(1.2));   
37         //四舍五入取整  
38         System.out.println("Math.round(2.3 ):" + Math.round(2.3 ));   
39         /*---------下面是乘方、开方、指数运算---------*/  
40         //计算平方根。  
41         System.out.println("Math.sqrt(2.3 ):" + Math.sqrt(2.3 ));   
42         //计算立方根。   
43         System.out.println("Math.cbrt(9):" + Math.cbrt(9));   
44         //返回欧拉数 e 的n次幂。  
45         System.out.println("Math.exp(2):" + Math.exp(2));   
46         //返回 sqrt(x2 +y2),没有中间溢出或下溢。  
47         System.out.println("Math.hypot(4 , 4):" + Math.hypot(4 , 4));  
48         // 按照 IEEE 754 标准的规定,对两个参数进行余数运算。  
49         System.out.println("Math.IEEEremainder(5 , 2):"   
50             + Math.IEEEremainder(5 , 2));  
51         //计算乘方  
52         System.out.println("Math.pow(3, 2):" + Math.pow(3, 2));  
53         //计算自然对数  
54         System.out.println("Math.log(12):" + Math.log(12));   
55         //计算底数为 10 的对数。  
56         System.out.println("Math.log10(9):" + Math.log10(9));   
57         //返回参数与 1 之和的自然对数。   
58         System.out.println("Math.log1p(9):" + Math.log1p(9));   
59         /*---------下面是符号相关的运算---------*/  
60         //计算绝对值。  
61         System.out.println("Math.abs(-4.5):" + Math.abs(-4.5));  
62         //符号赋值,返回带有第二个浮点数符号的第一个浮点参数。  
63         System.out.println("Math.copySign(1.2, -1.0):"   
64             + Math.copySign(1.2, -1.0));  
65         //符号函数;如果参数为 0,则返回 0;如果参数大于 0,  
66         // 则返回 1.0;如果参数小于 0,则返回 -1.0。  
67         System.out.println("Math.signum(2.3):" + Math.signum(2.3));   
68         /*---------下面是大小相关的运算---------*/  
69         //找出最大值  
70         System.out.println("Math.max(2.3 , 4.5):" + Math.max(2.3 , 4.5));  
71         //计算最小值   
72         System.out.println("Math.min(1.2 , 3.4):" + Math.min(1.2 , 3.4));  
73         //返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。  
74         System.out.println("Math.nextAfter(1.2, 1.0):"  
75             + Math.nextAfter(1.2, 1.0));  
76         //返回比目标数略大的浮点数  
77         System.out.println("Math.nextUp(1.2 ):" + Math.nextUp(1.2 ));  
78         //返回一个伪随机数,该值大于等于 0.0 且小于 1.0。  
79         System.out.println("Math.random():" + Math.random());  
80     }  
81 }  

 

posted on 2015-09-25 10:22  鸿钧老祖  阅读(242)  评论(0编辑  收藏  举报

导航