Java获取随机数的几种方式

  • 1、Random类
    构造方法:Random(); 个人建议使用无参构造方法 方法:int nextInt(int x);
    返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。

  • 2、Math.random();是令系统随机选取大于等于0.0,且小于 1.0 的伪随机 double 值

  • 3、在JDK7中,java.util.concurrent包含了一个相当便利的类,ThreadLocalRandom,当应用程序期望在多个线程或ForkJoinTasks中使用随机数时。
    对于并发访问,使用TheadLocalRandom代替Math.random()可以减少竞争,从而获得更好的性能。
    你可以调用ThreadLocalRandom.current(), 然后调用它的其中一个方法去获取一个随机数即可

  • 4、UUID是jdk1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID.
    UUID是由一个十六位的数字组成,表现出来的形式例如 550E8400-E29B-11D4-A716-446655440000

import java.util.Random;
import java.util.UUID;
import java.util.concurrent.ThreadLocalRandom;/*** 需求:利用java代码,生成10-100之间的随机数*/
public class Demo01 {public static void main(String[] args) {// 第一种:这里需要实例化一个Randam类,这里需要导包的,注意是util下的:java.util.Random;Random random = new Random();// nextInt()  返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。int ran1 = random.nextInt(91) + 10;// nextInt(91)产生一个1,90之间的随机整数System.out.println(ran1);// 第二种:使用Math.randomint ran2 = (int) (Math.random() * 91 + 10);// Math.random():获取0.0,1.0的随机小数System.out.println(ran2);/** 第三种:Java 7之前我们使用Math.random()产生随机数,使用原子变量来保存当前的种子,* 这样两个线程同时调用序列时得到的是伪随机数,而不是相同数量的两倍。*/ThreadLocalRandom threadLocalRandom = ThreadLocalRandom.current();int ran3 = threadLocalRandom.nextInt(10, 91);System.out.println(ran3);// 第四种:UUID,全球唯一,不重复String uuid = UUID.randomUUID().toString();uuid = uuid.replace("-", "");System.out.println(uuid);}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部