Random类简介

Random类

此类的实例用于生成伪随机数。

Random r = new Random();
int i = r.nextInt();

查看类

  • java.util.Random :该类需要 import导入使后使用。

构造方法

  • public Random():创建一个新的随机数生成器。

成员方法

  • public int nextInt(int n):返回一个伪随机数,范围在 0 (包括)和指定值 n (不包括)之间的 int 值。
import java.util.Random;
public class Demo01_Random {
  	public static void main(String[] args) {
        //2. 创建键盘录入数据的对象
        Random r = new Random();

        for(int i = 0; i < 3; i++){
            //3. 随机生成一个数据
            int number = r.nextInt(10);
            //4. 输出数据
            System.out.println("number:"+ number);
        }		
    }
}
### Java 中 Random 的语法结构和用法 #### 1. **Random 简介** `java.util.Random` 是 Java 提供的一个用于生成伪随机数的。它可以通过多种方式生成不同型的随机数值,例如 `int`, `long`, `float`, 和 `double` 等。 该提供了多个构造函数以及丰富的实例方法来满足不同的需求[^2]。 --- #### 2. **Random 的主要构造函数** - **无参构造函数** 创建一个新的随机数生成器对象并初始化种子值。 ```java Random random = new Random(); ``` - **带种子值的构造函数** 使用指定的种子值创建新的随机数生成器对象。相同的种子会生成相同的随机序列。 ```java long seedValue = 10L; Random randomWithSeed = new Random(seedValue); ``` --- #### 3. **常用方法及其功能** 以下是 `Random` 的一些主要方法: - **生成整型随机数 (`nextInt`)** 返回一个介于 `[Integer.MIN_VALUE, Integer.MAX_VALUE)` 范围内的随机整数。如果提供参数,则返回范围在 `[0, bound)` 内的随机整数。 ```java int randomNumber = random.nextInt(); // 整个范围内随机 int boundedNumber = random.nextInt(10); // [0, 10) 范围内随机 ``` - **生成浮点型随机数 (`nextFloat`)** 返回一个介于 `[0.0f, 1.0f)` 范围内的单精度浮点数。 ```java float floatValue = random.nextFloat(); ``` - **生成双精度随机数 (`nextDouble`)** 返回一个介于 `[0.0d, 1.0d)` 范围内的双精度浮点数。 ```java double doubleValue = random.nextDouble(); ``` - **生成布尔值 (`nextBoolean`)** 随机返回 `true` 或 `false`。 ```java boolean boolValue = random.nextBoolean(); ``` - **生成高斯分布随机数 (`nextGaussian`)** 返回服从标准正态分布(均值为 0,标准差为 1)的双精度浮点数。 ```java double gaussianValue = random.nextGaussian(); ``` - **生成长整型随机数 (`nextLong`)** 返回一个任意大小的随机长整数。 ```java long longValue = random.nextLong(); ``` --- #### 4. **示例代码** 以下是一个完整的例子,展示如何使用 `Random` 的不同方法: ```java import java.util.Random; public class RandomExample { public static void main(String[] args) { Random random = new Random(); // 生成随机整数 int randomInt = random.nextInt(100); // [0, 100) System.out.println("Random Int: " + randomInt); // 生成随机浮点数 float randomFloat = random.nextFloat(); // [0.0f, 1.0f) System.out.println("Random Float: " + randomFloat); // 生成随机双精度数 double randomDouble = random.nextDouble(); // [0.0d, 1.0d) System.out.println("Random Double: " + randomDouble); // 生成随机布尔值 boolean randomBool = random.nextBoolean(); System.out.println("Random Boolean: " + randomBool); // 生成高斯分布随机数 double gaussianValue = random.nextGaussian(); System.out.println("Gaussian Value: " + gaussianValue); // 带种子值的例子 Random seededRandom = new Random(10L); int fixedRandomInt = seededRandom.nextInt(100); System.out.println("Fixed Seed Random Int: " + fixedRandomInt); } } ``` --- #### 5. **注意事项** - 如果需要线程安全的随机数生成器,可以考虑使用 `ThreadLocalRandom` 替代 `Random`[^2]。 - 当前实现基于线性同余算法,因此其产生的随机数实际上是伪随机数。 --- 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值