Java获取随机数

在Java中获取随机数通常会使用java.util.Random类或者Math.random()方法

1.java.util.Random

java.util.Random类用于生成伪随机数。

        // 使用无参构造方法创建Random对象
        Random rand = new Random();

        // 生成一个[0, 100)范围内的随机整数
        int randomInt = rand.nextInt(100);
        System.out.println("[0, 100)范围内的随机整数: " + randomInt);

        // 生成一个[min, max]范围内的随机整数
        int min = 1;
        int max = 10;
        int randomIntRange = min + rand.nextInt(max - min + 1);
        System.out.println("随机整数: " + randomIntRange);

        // 生成一个随机的double值,范围在[0.0, 1.0)
        double randomDouble = rand.nextDouble();
        System.out.println("随机的double值: " + randomDouble);

        // 生成一个[min, max]范围内的随机double值
        double minDouble = 1.0;
        double maxDouble = 10.0;
        double randomDoubleInRange = minDouble + (maxDouble - minDouble) * rand.nextDouble();
        System.out.println("随机double值: " + randomDoubleInRange);

        //生成一个[min, max]范围内的随机byte值
        //因为byte类型的范围是-128到127,需要对Random类生成的int类型随机数进行类型转换和范围调整,可以看到获取随机数步骤其实和double差不多
        byte randomByte = (byte) (Byte.MIN_VALUE + rand.nextInt(Byte.MAX_VALUE - Byte.MIN_VALUE + 1));
        System.out.println("范围内的随机byte值: " + randomByte);

        // 生成[min, max)范围内的float值
        float minFloat = 1.0f;
        float maxFloat = 10.0f;
        float randomFloatInRange = minFloat + (maxFloat - minFloat) * rand.nextFloat();
        System.out.println("范围内的float值: " + randomFloatInRange);

        //随机生成boolean值
        //随机生成0或1(不包括2),再判断是否=0
        boolean randomBoolean = rand.nextInt(2) == 0; // 0为false,1为true
        System.out.println("随机生成boolean值: " + randomBoolean);

        // Java 7及以上版本提供了这个方法
        boolean randomBooleanNext = rand.nextBoolean();
        System.out.println("随机生成boolean值: " + randomBooleanNext);

        // 可以是任何long值
        long randomLong = rand.nextLong();

        // 生成[min, max]范围内的long值
        long minLong = 1000L;
        long maxLong = 999999999999L;
        long range = (maxLong - minLong) + 1;
        long randomLongInRange = minLong + (long) (rand.nextDouble() * range);
        System.out.println("范围内的long值: " + randomLongInRange);

2.Math.random()方法

Math.random()方法用于生成一个大于等于0.0且小于1.0的随机double值。这个方法不接受任何参数,并且每次调用时都会生成一个新的随机数。

        // 生成一个[0.0, 1.0)范围内的随机double值  
        double randomDouble = Math.random();
        System.out.println("范围内的随机double值: " + randomDouble);

        // 生成一个[min, max]范围内的随机double值  
        double minDouble = 1.0;
        double maxDouble = 10.0;
        double randomDoubleInRange = minDouble + (maxDouble - minDouble) * Math.random();
        System.out.println("范围内的随机double值: " + randomDoubleInRange);

        // Math.random()不能直接用于生成随机整数,但可以通过类型转换和取整来实现  
        // 生成一个[0, max)范围内的随机整数(包括0,不包括max)  
        int maxInt = 100;
        int randomInt = (int) (Math.random() * maxInt);
        System.out.println("范围内的随机整数: " + randomInt);

        // 生成一个[min, max]范围内的随机整数(包括min和max)  
        int minInt = 1;
        int randomIntInRange = minInt + (int) (Math.random() * (maxInt - minInt + 1));
        System.out.println("范围内的随机整数: " + randomIntInRange);

近日总结:继上次写的文字好像就是在鞭尸,这次变成了好像进入了无限的死循环。

我想,有了这段经历,我的毕业论文一定不会写的很差,毕竟有大佬指导呜呜呜。

经此一役,我的文字水平得到了极大的提升。

纵观以往,我似乎是初中的时候文字水平最高,再然后是高中,再然后是小学,再然后就是大学了。

试问大学教会了我什么,教会了我活到老,学到老,自律自律,每天早八晚11的学习生活,除去这些,其他的关于文学方面的东西寡淡的可怕。

虽然在学校图书馆读过几本书,也有很深的感悟,但这些远远不够。

以前的我觉得每天泡在图书馆里就是人生一大享受,在之后乃至现在的我都觉得每天泡在工作室里才是最大的享受,最纯学的那一年,我和小组其他成员商议着晚上在工作室里睡觉,一睁眼就可以学习,简直太美了!

但实习阶段的我,睡觉,睡觉,睡觉。

我爱睡觉,我爱摆烂。

这不是好事,对,我要崛起!

嘻嘻,中秋去上海玩喽~~~~~~~~~~~~~~~~~啦啦啦啦啦啦啦啦啦~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雾喔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值