作者:李永健
撰写时间:2019年 5月15日
开发工具与关键技术:MyEclipse 10 、Java

Random类专门用于生成一个伪随机数的类,其产生的随机数是根据种子和顺序决定 的;ThreadLocalRandom类是Java 7新增的一个类,它是Random的增强版。在并发 访问的环境下,呆证系统具有更好的线程安全性
Random类
常用方法:
Random类

例子:
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
public class RandomClassDemo {
	public static void main(String[] args) {
		Random random=new Random();
		ThreadLocalRandom random3=ThreadLocalRandom.current();
		//随机生成Boolean
		System.out.println("random.nextBoolean() = "+random.nextBoolean());
		System.out.print("random.nextBytes(bytes) =");
		//生成随机字节并将其置于用户提供的 byte 数组中
		byte[] bytes=new byte[5];
		random.nextBytes(bytes);
		for (byte b : bytes) {
			System.out.print(b+"\t");
		}
		System.out.println();
		//生成0.0~1.0之间的伪随机float数 
		System.out.println("random.nextFloat() = "+random.nextFloat());
		//生成0.0~1.0之间的伪随机double数
		System.out.println("random.nextDouble() = "+random.nextDouble());
		// 生成一个处于long整数取值范围的伪随机整数 
		System.out.println("random.nextLong() = "+random.nextLong());
		// 生成一个处于int整数取值范围的伪随机整数 
		System.out.println("random.nextInt() = "+random.nextInt());
		//随机生成0(包 括)和指定值(不包括)之间均匀分布的 int 值
		System.out.println("random.nextInt(9) = "+random.nextInt(9));
		// 生成平均值是 0.0,标准差是 1.0的伪高斯数
		System.out.println("random.nextGaussian() ="+random.nextGaussian());
	}
}

结果图:
Random类
伪随机数:
只要两个Random对象的种子相同,而且方法的调用顺序也相同,产生的随机数相同;

import java.util.Random;
public class RandomClassDemo1 {
	public static void main(String[] args) {
        //Random产生的数字并不是真正随机的,而是一种伪随机
long longValue=System.currentTimeMillis();
		System.out.println(longValue);
        Random random  = new Random(longValue);
        System.out.println("第一个种子为longValue的Random对象");
        System.out.println("random .nextBoolean()=" + random .nextBoolean());
        System.out.println("random .nextInt()=" + random .nextInt());
        System.out.println("random .nextGaussian()=" + random .nextGaussian());
        System.out.println("random .nextDouble()=" + random .nextDouble());
        System.out.println("---------------------------");
        Random random1  = new Random(longValue);
        System.out.println("第二个种子为longValue的Random对象");
        System.out.println("random1.nextBoolean()=" + random1.nextBoolean());
        System.out.println("random1.nextInt()=" + random1.nextInt());
        System.out.println("random1.nextDouble()=" + random1.nextDouble());
        System.out.println("random1.nextGaussian()=" + random1.nextGaussian());

结果图:
Random类

相关文章:

  • 2021-05-20
  • 2021-06-11
  • 2022-12-23
  • 2021-08-15
  • 2021-05-14
  • 2022-02-10
  • 2021-11-23
猜你喜欢
  • 2022-12-23
  • 2021-07-31
  • 2021-05-25
  • 2021-06-11
  • 2022-12-23
  • 2021-07-31
相关资源
相似解决方案