Java基础篇--Random(随机)类

构造方法 

Java的java.util包中有一个Random类,它可以在指定的取值范围内随机产生数字。Random类中提供了两个构造方法如下表。

方法声明

功能描述

Random()

构造方法,用于创建一个伪随机数生成器

Random(long seed)

构造方法,使用一个long型的seed种子创建伪随机数生成器

示例:

import java.util.Random;
 public class myclass {
	public static void main(String args[]) {
		Random r = new Random(); // 不传入种子
		// 随机产生10个[0,100)之间的整数
		for (int x = 0; x < 10; x++) {
			System.out.println(r.nextInt(100));
		}
	}
 }

当我们运行这个程序两次时,两次产生的随机数序列是不一样的。这是因为当创建Random的实例对象时,没有指定种子,系统会以当前时间戳作为种子,产生随机数。当指定种子后,两次产生的随机数序列就会一样了。

常用的方法

 相对于Math的random()方法而言,Random类提供了更多的方法来生成各种伪随机数,不仅可以生成整数类型的随机数,还可以生成浮点类型的随机数。Random类常用的方法如下表。

下面是一些Random类常用的方法:

方法声明

功能描述

double nextDouble()

随机生成double类型的随机数,

返回的是0.0和1.0之间double类型的值。

float nextFloat()

随机生成float类型的随机数,

返回的是0.0和1.0之间float类型的值。

int nextInt()

随机生成int类型的随机数

int nextInt(int n)

随机生成0~n之间int类型的随机数,

返回的是0(包括)和指定值n(不包括)之间的值。

  1. 生成随机整数:
    Random random = new Random();
    int randomNumber = random.nextInt();  // 生成int范围内的随机整数
    int randomNumberInRange = random.nextInt(100);  // 生成0到99之间的随机整数
    
  2. 生成随机浮点数:
    Random random = new Random();
    double randomDouble = random.nextDouble();  // 生成0.0到1.0之间的随机浮点数
    
  3. 生成随机布尔值:
    Random random = new Random();
    boolean randomBoolean = random.nextBoolean();  // 随机生成一个布尔值,true或false
    
  4. 生成随机字节:
    Random random = new Random();
    byte[] buffer = new byte[10];
    random.nextBytes(buffer);  // 将随机字节填充到指定的字节数组中
    

注意:

Random类生成的是伪随机数,即看似随机但实际上是通过确定性算法计算得到的。如果需要更高质量的随机数,请考虑使用java.security.SecureRandom类。 

猜你喜欢

转载自blog.csdn.net/m0_74293254/article/details/132270422