Random类用于生成一个伪随机数,它的构造器可以是无参数(以系统时间为种子)的也可以显式的传入一个种子;
它可以输出各种类型的随机数;如果两个random的初始种子是一样的,那么他们产生的相同类型的随机数是一样的(无参看成参数相同)。
详细用法如下代码所示:
package lkl2;
import java.util.Arrays;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
//java 随机数生成类 Random
public class RandomTest {
public static void main(String[] args){
//先建一个对象
//可以提供一个随机数种子,默认是系统时间
Random rand = new Random();
//布尔型随机数
System.out.println("rand.nextBoolean"+rand.nextBoolean());
byte[] buffer = new byte[16];
//为一个byte数组赋随机数
rand.nextBytes(buffer);
System.out.println(Arrays.toString(buffer));
//生成0.0~1.0之间的伪随机数
System.out.println("rand.nextDouble:"+rand.nextDouble());
//生成0.0~1.0之间的伪随机数
System.out.println("rand.nextFloat:"+rand.nextFloat());
//生成一个整数取值范围内的伪随机数
System.out.println("rand.nextInt:"+rand.nextInt());
//生成一个0~26之间的伪随机数
System.out.println("rand.nextInt(26):"+rand.nextInt(26));
//生成一个long整数取值范围的伪随机数
System.out.println("rand.nextLong():"+rand.nextLong());
}
}
除了这个类以外java还用一个用于多线程的随机数类,ThreadLocalRandom类。