java.lang.Math类是一个工具类,主要用于完成科学计算,如求指数、对数、平方根和三角函数等。Math类中的所有方法都是静态的,因此可以直接通过类名调用,另外,Math类中还有两个常量,PI和E,分别代表数学上的π和e。
java.lang.Math类比较简单,可以查看API文档学习。如果涉及高等数学等更强大的运算,可以使用apache commons下的Math类库。
JDK的Math类提供了不同的舍入函数,还可以产生[0,1)之间的double型随机数,具体说明如下:
(1)public static double ceil(double a):返回最小的double值,该值大于等于参数,并等于某个整数,即返回大于a的最小整数,不过要转换为double型。
(2)public static double floor(double a):返回最大的double值,该值小于等于参数,并等于某个整数,即返回小于a的最大整数,不过要转换为double型。
(3)public static int round(float a):返回最接近参数的int,结果等于(int)Math.floor(a+0.5f),即类似四舍五入。
(4)public static long round(double a):返回最接近参数的long,结果等于(long)Math.floor(a+0.5d),即类似四舍五入。
(5)public static double random():返回一个从0.0d(包括)到1.0d(不包括)范围内均匀选择(大致)的double型随机数。查看该方法源代码,当调用Math.Random()方法时,将创建一个伪随机数生成器(new java.util.Random),然后调用Random对象的nextDouble()方法实现。
【例8-7】
演示Math类的使用。
下面对Math类的常量和几个方法加以演示。测试类Math Test如图8-7所示。(www.xing528.com)
图8-7 Math类的使用示例
项目总结
本项目主要讲解了Java中与时间处理相关的类、用于产生随机数的Random类,还有Math类。在学习过程中,如果有疑惑,除了查看API文档外,更要学会搜索网络上相关发帖解决问题。
项目作业
1.编写DateTest测试类。给定字符串“1997-04-22”表示某人出生日期,请利用Date类和SimpleDateFormat类计算此人到当前系统时间已出生多少天。
2.如何利用Random类和Math类的random()方法分别产生[10,19]之间的随机整数?提示:[10,19]应该看成[10,20)。
3.简述Math类的ceil方法、floor方法和round方法的区别。
4.上机实践书中出现的案例,可自由发挥修改。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。