您的位置:首页 > 编程语言 > Java开发

java基础学习面向对象API中Math类random方法使用 五-5

2017-02-10 21:41 309 查看
这个在JDK的API中搜索后如下图:



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

StrictMath
类的某些数学方法不同,并非
Math
类所有等价函数的实现都定义为返回逐位相同的结果。此类在不需要严格重复的地方可以得到更好的执行。

默认情况下,很多
Math
方法仅调用
StrictMath
中的等价方法来完成它们的实现。建议代码生成器使用特定于平台的本机库或者微处理器指令(可用时)来提供
Math
方法更高性能的实现。这种更高性能的实现仍然必须遵守
Math
的规范。

实现规范的质量涉及到两种属性,即返回结果的准确性和方法的单调性。浮点
Math
方法的准确性根据ulp(units in the last place,最后一位的进退位)来衡量。对于给定的浮点格式,特定实数值的 ulp 是包括该数值的两个浮点值的差。当作为一个整体而不是针对具体参数讨论方法的准确性时,引入的 ulp 数用于任何参数最差情况下的误差。如果一个方法的误差总是小于 0.5 ulp,那么该方法始终返回最接近准确结果的浮点数;这种方法就是正确舍入。一个正确舍入的方法通常能得到最佳的浮点近似值;然而,对于许多浮点方法,进行正确舍入有些不切实际。相反,对于
Math

类,某些方法允许误差在 1 或 2 ulp 的范围内。非正式地,对于 1 ulp 的误差范围,当准确结果是可表示的数值时,应该按照计算结果返回准确结果;否则,返回包括准确结果的两个浮点值中的一个。对于值很大的准确结果,括号的一端可以是无穷大。除了个别参数的准确性之外,维护不同参数的方法之间的正确关系也很重要。因此,大多数误差大于 0.5 ulp 的方法都要求是半单调的:只要数学函数是非递减的,浮点近似值就是非递减的;同样,只要数学函数是非递增的,浮点近似值就是非递增的。并非所有准确性为 1
ulp 的近似值都能自动满足单调性要求。 

random方法介绍:



这样就会看到random是每次返回0.0到1.0之间的数字。

package demo;
/**
* 产生一到一百的随机数练习
* @author Angus
*
*/
public class MathDemo {

public static void main(String[] args) {
double d = Math.random(); //得到0.0到1.0的随机数
System.out.println(d);
//求1-100之间
int number  = (int) ((d*100)+1);  //+1是因为0.009.。。还是0
System.out.println(number);
}

}


最后附上JDK使用文档API 下载

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Math random java
相关文章推荐