java生成随机数的两种方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/farxix/article/details/81566682

一、java.lang.Math.Random;

Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)

//取1~10的随机数
Math.floor(Math.random()*10+1)

产生的是double随机数列。

——————————–分割线————————

二、java.util.Random;

nextInt():生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。

//取1~10的随机数
Random r = new Random();
Math.floor(r.nextInt(10)+1)

Random(),有参和无参的区别
①随机数是种子经过计算生成的。
②Random类中不含参的构造函数每次都是使用当前时间作为种子,随机性更强;而含参数的构造函数是伪随机的,更有可预见性。

Math.Random和Random()的区别
从Math类的源码就能看出Math.random()内部调用的方法就是Random类中的nextDouble()方法,此刻也就明确了文章一开始Math.random()返回的是double类型值。

猜你喜欢

转载自blog.csdn.net/farxix/article/details/81566682