Javarandom用法
时间: 2024-09-22 15:04:59 浏览: 33
JAVA的Random类的用法详解
`java.util.Random`是Java标准库中的一个类,它提供了一种生成伪随机数的方式。以下是Random的一些基本用法:
1. **创建Random实例**:
```java
Random random = new Random(); // 默认构造函数使用当前系统时间作为种子
```
2. **生成整数**:
- `nextInt(int bound)`:返回[0, bound)范围内的一个随机整数。
- `nextInt()`:返回[0, Integer.MAX_VALUE)范围内的一个随机整数。
- `nextInt(int min, int max)`:返回[min, max)范围内的一个随机整数。
示例:
```java
int randomNumber = random.nextInt(100); // 生成0到99之间的随机整数
```
3. **生成浮点数**:
- `nextDouble()`:返回[0.0, 1.0)范围内的一个随机双精度浮点数。
- `nextFloat()`:返回[0.0f, 1.0f)范围内的一个随机单精度浮点数。
4. **设置种子**:
如果需要获得特定序列的随机数,可以使用`setSeed(long seed)`方法设定初始种子。
5. **保证线程安全**:
虽然`Random`本身不是线程安全的,但如果在一个线程中创建了一个实例并在该线程中使用,那么它是安全的。如果跨线程使用,最好创建多个独立的`Random`实例,每个线程各有一个。
示例:
```java
Thread threadA = new Thread(() -> {
Random randA = new Random();
System.out.println(randA.nextInt(100));
});
Thread threadB = new Thread(() -> {
Random randB = new Random();
System.out.println(randB.nextInt(100)); // 这里的随机数不会与threadA的一致
});
threadA.start();
threadB.start();
```
阅读全文