一、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类型值。