在Java中,有多種方法可以生成隨機(jī)數(shù)。以下是一些常用的方法:
java.util.Random
類(lèi):import java.util.Random;
public class Main {
public static void main(String[] args) {
Random random = new Random();
int randomNumber = random.nextInt(); // 生成一個(gè)0到Integer.MAX_VALUE之間的隨機(jī)整數(shù)
double randomDouble = random.nextDouble(); // 生成一個(gè)0到1之間的隨機(jī)浮點(diǎn)數(shù)
}
}
java.security.SecureRandom
類(lèi):import java.security.SecureRandom;
public class Main {
public static void main(String[] args) {
SecureRandom secureRandom = new SecureRandom();
int randomNumber = secureRandom.nextInt(); // 生成一個(gè)0到Integer.MAX_VALUE之間的隨機(jī)整數(shù)
double randomDouble = secureRandom.nextDouble(); // 生成一個(gè)0到1之間的隨機(jī)浮點(diǎn)數(shù)
}
}
SecureRandom
類(lèi)比Random
類(lèi)更安全,因?yàn)樗褂酶鼜?qiáng)大的算法生成隨機(jī)數(shù),適用于加密等場(chǎng)景。
java.lang.Math.random()
方法:public class Main {
public static void main(String[] args) {
int randomNumber = (int) (Math.random() * Integer.MAX_VALUE); // 生成一個(gè)0到Integer.MAX_VALUE之間的隨機(jī)整數(shù)
double randomDouble = Math.random(); // 生成一個(gè)0到1之間的隨機(jī)浮點(diǎn)數(shù)
}
}
Math.random()
方法生成的隨機(jī)數(shù)質(zhì)量較低,但在某些情況下可能足夠使用。
java.util.concurrent.ThreadLocalRandom
類(lèi):import java.util.concurrent.ThreadLocalRandom;
public class Main {
public static void main(String[] args) {
int randomNumber = ThreadLocalRandom.current().nextInt(); // 生成一個(gè)0到Integer.MAX_VALUE之間的隨機(jī)整數(shù)
double randomDouble = ThreadLocalRandom.current().nextDouble(); // 生成一個(gè)0到1之間的隨機(jī)浮點(diǎn)數(shù)
}
}
ThreadLocalRandom
類(lèi)適用于多線程環(huán)境,性能優(yōu)于Random
類(lèi)。