在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的随机整数。
原创文章,作者:CECF,如若转载,请注明出处:https://www.beidandianzhu.com/g/1361.html