CodeGym /Java 博客 /随机的 /Java.util.Random类
John Squirrels

San Francisco

# Java.util.Random类

## 什么是 Java 中的 java.util.Random 类？

java.util.Random类用于生成伪随机数。该类实现的方法用于生成int、double、float等不同的随机数据类型。所以有两种主要类型的随机数，统计随机数伪随机数。统计随机数（如数学中的简单随机数）是一组没有可识别模式的值。例如，掷骰子 10 次，每次都会生成一个没有任何可识别模式的随机数。

## 方法声明

``````
import java.util.Random;
``````

``````
Random randomNumbers = new Random();
``````

## 例子

``````
import java.util.Random;

public class RandomClassExample1 {

public static void main(String[] args) {

// create random object
Random randomNumbers = new Random();

System.out.println("----------Random Boolean---------" );
/*
* Returns the next pseudo random boolean value which
* may be used in a toss for a match
*/
boolean value = randomNumbers.nextBoolean();
System.out.println("The random boolean value is: " + value);

/*
* Returns the next pseudo random integer value between 0 and 5
* because if we use '6' then, it will give random numbers from 0 to 6
* hence incrementing it by 1 you can use it as a result of a dice roll
*/
System.out.println("\n----------Random Integer---------" );
System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );

// return the next pseudo random long value
Long val = randomNumbers.nextLong();
System.out.println("\n----------Random Long---------" );
System.out.println("Random Long value: " + val);

/*
* Generates random bytes and puts them in an array, which you can for some
* desired unpredictable result that is summing all the values in the array
*/

System.out.println("\n----------Random Bytes---------" );
byte[] bytes = new byte[8];
randomNumbers.nextBytes(bytes);

System.out.print("These are the random bytes = [ ");
for (int i = 0; i < bytes.length; i++) {
System.out.printf("%d ", bytes[i]);
}
System.out.println("]");
}

}
``````

## 输出

----------Random Boolean-------- 随机布尔值为：true ----------Random Integer--------- Die Roll: 4 Die Roll: 6 Die Roll: 1 Die Roll: 1 Die Roll: 3 ----------Random Long-------- Random Long 值：-6029959293504570824 ---- ------随机字节-------- 这些是随机字节= [ -37 90 -98 -70 23 -111 19 108 ]

## 方法

1. 双打（）

此方法返回无限系列的伪随机生成的双精度值。现在让我们看看如何使用这个方法。

``````
randomNumbers.doubles();
``````
2. 整数（）

此方法返回无限系列的伪随机生成的整数值。您可以使用以下脚本来调用此方法。

``````
randomNumbers.ints();
``````
3. 多头（）

此方法返回无限系列的伪随机生成的 long 值。以下脚本用于调用此方法。

``````
randomNumbers.longs();
``````
4. 下一个布尔值（）

此方法从随机数生成器序列返回下一个均匀分布的伪随机布尔值。均匀分布是矩形的，这意味着分布中的每个值都有相等的概率。下面介绍如何使用此方法。

``````
randomNumbers.nextBoolean();
``````
5. 下一个整数（整数 n）

此方法从随机数生成器序列返回下一个均匀分布的伪随机整数值，介于 0 和提供的值之间。快速了解如何使用此方法。

``````
randomNumbers.nextInt(10);
``````

## 结论

TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION