Java中java.lang.Math.Random和java.util.Random

1.java.lang.Math.Random

返回一个正的double值,范围是[0.0, 1.0),在该范围内近似是均匀分布

int num = (int)(Math.Random() * 12)

返回的是0-11之间的值,注意返回值是double型,使用时注意类型转换

 

2.java.util.Random

有两种构造方法

1)Random()  创建一个随机数生成器

2)Random(long seed)  使用long种子创建随机数生成器

转自http://blog.sina.com.cn/s/blog_93dc666c0101h3gd.html

 

 

 两个随机函数到底的特点:

1.java.Math.Random()实际是在内部调用java.util.Random()的,它有一个致命的弱点,它和系统时间有关,也就是说相隔时间很短的两个random比如:
double a = Math.random();
double b = Math.random();
即有可能会得到两个一模一样的double。
2.java.util.Random()在调用的时候可以实现和java.Math.Random()一样的功能,而且他具有很多的调用方法,相对来说比较灵活。所以从总体来看,使用java.util.Random()会相对来说比较灵活一些。

 

posted @ 2018-04-02 15:49  SkyeAngel  阅读(1178)  评论(0编辑  收藏  举报