Java Random类详解:生成随机数的方法与构造方法使用指南
[id_73[id_19[id_6[id_695665497]049039]3741376]06123]id_877301925]

顾名思义,这个类的主要作用是生成随机数。它具有随机的英文意思。
[id_677691940]
他在 java.util 的包下这一点是可见的。我们知晓,在 Java 中,除了 lang 包无需导包之外,其余的包都需要导包。其具体格式为:
improt java.util.Random
当然,在使用 IDEA 时无需手动进行导包操作。因为它具备自动导包的功能。
例如你需要使用到Random类声明对象,只需写上如下代码:
点击 Random(java.util)这个操作,之后 IDEA 就会自动为你导入 Random 包。
import java.util.Random;
public class javaRandom {
[id_691699791]=new Random[id_1638747945]);
}
那么,接下来看看Random里的构造方法
共有两个构造方法,比较常用的是第一个无参构造。
种子被称作种子。你肯定理解“长”这个词。然而,你不理解为什么叫“种子”。这与伪随机函数的原理相关。Random 这个函数必须要有一个种子,接着依据算法,从这个种子作为起点进行运算,从而给出一个随机数。
定义 Random 对象的具体格式为:使用“new Random()”来创建一个 Random 对象,例如可以有“Random randomObj = new Random();”这样的语句,其中“Random”是表示随机数生成器的类,“randomObj”是自定义的对象名,通过“new Random()”创建的随机数生成器对象被赋值给“randomObj”,以便在后续的代码中使用该对象来生成随机数等操作。
类的实例已经生成完毕。接下来,让我们看看 Random 类有哪些常用的成员方法。
API 上所表达的内容似乎难以理解。直白地翻译过来就是,要生成一个整数类型为 int 的数,这个数是在 -2 的 31 次方到 2 的 31 次方这个范围内的随机数。
他还有一个重载形式
import java.util.Random;
public class javaRandom {
public static void main(String[] args) {
Random rand =new Random();
for (int i = 0; i < 10; i++) {
int n=rand.nextInt(2);
System.out.print(n+" ");
}
}
}
结果为:
0 0 1 0 1 0 0 1 0 1
可见,随机数的取值区间,用数学符号来表示的话,就是一个左开右闭的区间,其范围是从 0 到 2 。
类似的还有 :
double nextDouble()
获取下一个伪随机数,此数是从该随机数生成器序列中取出的,且在 0.0 到 1.0 这个范围内均匀分布的 double 值。
float nextFloat()
获取下一个伪随机数,此数是从该随机数生成器序列中取出的,且在 0.0 到 1.0 这个范围内均匀分布的 float 值。
还有一个比较常用的
void nextBytes(byte[] bytes)
生成随机字节并将其置于用户提供的 byte 数组中。
import java.util.Arrays;
import java.util.Random;
public class javaRandom {
public static void main(String[] args) {
Random rand =new Random();
byte a[]=new byte[10];
rand.nextBytes(a);
System.out.println(Arrays.toString(a));
}
}
声明一个字节数组 a ,然后为其动态分配 10 个 byte 的内存空间。使用 Random 的 nextByte 成员函数给数组赋随机值。借助 Arrays 类的静态成员函数将 a 数组转换为字符串并输出。
[61, -122, 28, 67, 99, -30, -43, -45, 89, 56]