1. 使用 java.util.Random
类
java.util.Random
类是Java标准库提供的一个随机数生成器类,可以生成不同类型的随机数,如整数、长整数、浮点数等。
- 生成整数随机数:
import java.util.Random;
Random random = new Random();
int randomNumber = random.nextInt(); // 生成一个整数范围内的随机数
- 生成指定范围内的整数随机数:
int min = 1;
int max = 100;
int randomInRange = random.nextInt(max - min + 1) + min; // 生成 [min, max] 范围内的随机整数
nextInt(int n)
方法会生成一个从0
到n-1
的随机整数。
nextInt(max - min + 1)
生成了一个从 0
到 max - min
的随机整数,加上 min
后将其偏移至[min, max]
范围内,从而实现了生成 [min, max]
范围内的随机整数的目的。
- 生成浮点数随机数:
double randomDouble = random.nextDouble(); // 生成一个 [0.0, 1.0) 范围内的随机浮点数
2. 使用 Math.random()
方法
Math.random()
方法返回一个 [0.0, 1.0) 范围内的随机浮点数。
- 生成浮点数随机数:
double randomDouble = Math.random(); // 生成一个 [0.0, 1.0) 范围内的随机浮点数
- 生成指定范围内的整数随机数:
int min = 1;
int max = 100;
int randomInRange = (int) (Math.random() * (max - min + 1)) + min; // 生成 [min, max] 范围内的随机整数
3. 使用 java.util.concurrent.ThreadLocalRandom
类(Java 7+)
ThreadLocalRandom
是Java 7 新增的类,提供了高效的多线程随机数生成器。
- 生成整数随机数:
import java.util.concurrent.ThreadLocalRandom;
int randomInt = ThreadLocalRandom.current().nextInt(); // 生成一个整数范围内的随机数
- 生成指定范围内的整数随机数:
int min = 1;
int max = 100;
int randomInRange = ThreadLocalRandom.current().nextInt(min, max + 1); // 生成 [min, max] 范围内的随机整数