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");