首页 > 编程知识 正文

Java中生成随机数

时间:2023-11-21 12:35:55 阅读:308320 作者:MFFW

在Java中,我们可以直接使用`java.util.Random`类生成随机数。另外,我们还可以使用`java.lang.Math.random()`方法或者`java.util.concurrent.ThreadLocalRandom`类。下面我们会分几个方面详述这几种生成随机数的方式。

一、使用Random类生成随机数

`java.util.Random`类的实例用于生成伪随机数流,该流可以生成各种随机数据,如正整数、浮点数等。随机数是根据一个种子和一个公式生成的,如果种子相同,则生成的随机数序列也相同。

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random rand = new Random();
        int randomNum = rand.nextInt(100);
        System.out.println("Random Number is: " + randomNum);
    }
}

上述代码使用`Random`实例的`nextInt(int bound)`方法生成了一个小于100的随机整数。

二、使用Math.random()方法生成随机数

`Math.random()`方法返回一个正号双浮点值,该值大于等于0.0且小于1.0。因此,我们通常会乘以一个数值,例如100,然后通过强制转换为`int`来生成一个随机整数。

public class Main {
    public static void main(String[] args) {
        int randomNum = (int) (Math.random() * 100);
        System.out.println("Random Number is: " + randomNum);
    }
}

上述代码使用`Math.random()`方法生成了一个小于100的随机整数。

三、使用ThreadLocalRandom类生成随机数

`java.util.concurrent.ThreadLocalRandom`类是`Random`类的增强版本,在并发编程中更好用。线程本地随机数生成器可以为每个线程使用自己的随机数生成器,这样在多线程环境下,可以减少竞争,提高性能。

import java.util.concurrent.ThreadLocalRandom;

public class Main {
    public static void main(String[] args) {
        int randomNum = ThreadLocalRandom.current().nextInt(100);
        System.out.println("Random Number is: " + randomNum);
    }
}

上述代码使用`ThreadLocalRandom`的`nextInt(int bound)`方法生成了一个小于100的随机整数。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。