Random类学习

1、Random类使用:

Random random = new Random();
System.out.println(random.nextBoolean());
//生成一个整数范围的随机数
System.out.println(random.nextInt());
//生成0.0~0.01之间的伪随机double数
System.out.println(random.nextDouble());
//生成0.0~0.01之间的伪随机float数
System.out.println(random.nextFloat());
//生成一个long整型取值范围的伪随机整数
System.out.println(random.nextLong());
System.out.println("-------------------------\n");

//第一个种子为50的Random对象
Random random1 = new Random(50); 
System.out.println(random1.nextLong()); // -4985903243594861576
System.out.println(random1.nextInt());  // -1657178909
System.out.println(random1.nextDouble()); // 0.8216693642971118
System.out.println("-------------------------\n");

//第二个种子为50的Random对象 (产生的随机数和第一个完全相同)
Random random2 = new Random(50); 
System.out.println(random2.nextLong()); // -4985903243594861576
System.out.println(random2.nextInt());  // -1657178909
System.out.println(random2.nextDouble()); // 0.8216693642971118
System.out.println("-------------------------\n");

//种子为100的Random对象
Random random3 = new Random(100);
System.out.println(random3.nextLong()); 
System.out.println(random3.nextInt());
System.out.println(random3.nextDouble());
System.out.println("-------------------------\n");

//通常推荐使用当前时间作为随机数的种子
Random random4 = new Random(System.currentTimeMillis());
System.out.println(random4.nextLong());
System.out.println(random4.nextInt());
System.out.println(random4.nextDouble());
System.out.println("-------------------------\n");

2、ThreadLocalRandom类的使用:

//多线程下ThreadLocalRandom的使用
ThreadLocalRandom rand = ThreadLocalRandom.current();
//生成一个4~20之间的伪随机整数
int val1 = rand.nextInt(4,20);
System.out.println(val1);
//生成一个2.0~10.0之间的伪随机double整数
double val2 = rand.nextDouble(2.0,10.0);
System.out.println(val2);
System.out.println("-------------------------\n");

猜你喜欢

转载自www.cnblogs.com/aibaiyang/p/9093322.html