Java有三种获取随机数的方法
一. java.util.Random包下的Random类,通过new一个Random对象来产生随机数。
二. Math.random()方法,产生的随机数是[0,1)之间的一个double数。
三. System.currentTimeMillis(),该方法返回从1970年1月1号0点0分0秒到现在的毫秒数,返回值为long。
Random类
Random类有两种构造方法:带种子和不带种子。
不带种子:
每次运行结果不一样。默认种子为System.currentTimeMillis(),即系统时间作为seed。因为时间一直在改变所以种子也在变。
Random() rdm = new Random();
//Random() rdm = new Random(System.currentTimeMillis());
带种子:
每次运行结果都一样。相同种子的运行结果一样。
Random rdm = new Random(100);
Random类中的8种方法
rdm.nextInt() //返回int取值范围内的伪随机数,[2147483648 , 2147483647]
rdm.nextInt(n) //返回0~n的伪随机数,[0 , n)
rdm.nextLong()//返回long取值范围内的伪随机数,[-(2^63-1) , 2^63]
rdm.nextDouble() //返回double类型的伪随机数,[0.0 , 1.0)
rdm.nextFloat() //返回float类型的伪随机数,[0.0 , 1.0)
rdm.nextBytes(bytes)//用随机数填充指定字节数组的元素
rdm.nextBoolean()//返回true或false
rdm.nextGaussian()//返回高斯/正态分布