Java Random类详解:生成随机数的方法与构造方法使用指南

[id_73[id_19[id_6[id_695665497]049039]3741376]06123]id_877301925]

Java Random类详解:生成随机数的方法与构造方法使用指南

顾名思义,这个类的主要作用是生成随机数。它具有随机的英文意思。

[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]

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

25阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读