Java Random.nextInt()方法原理解析[通俗易懂]

Java Random.nextInt()方法原理解析[通俗易懂]JavaRandom.nextInt()方法原理解析主要介绍了JavaRandom.nextInt()方法原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下licintnextInt(intn)该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。关于Randomr=newRandom(47)中47的意思今天看Java编程思想的时候看到了一段这样的代码:Rand

大家好,又见面了,我是你们的朋友全栈君。

Java Random.nextInt()方法原理解析
主要介绍了Java Random.nextInt()方法原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具
有一定的参考学习价值,需要的朋友可以参考下
lic int nextInt(int n)
该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。
关于Random r = new Random(47)中47的意思
今天看Java编程思想的时候看到了一段这样的代码:
Random r = new Random(47);
int a = r.nextInt(26);
System.out.println(a);
刚开始没注意那个47,以为是随机一个47以内的数,但是看到后面在nextInt(26)里面还有个26,一想26应该才是随机数的范
围,那这个47是什么呢?
然后看源码,看不懂。。。只知道是一个种子,然后百度查,总算理解了一些,如下:
首先要搞明白种子的概念:
想要获取一个范围内的随机数(例如26,随机数可能是0-25),首先需要一个种子(其实就是一个数值)。
每个种子会对应这个范围内(0-26)的唯一的一个随机数。
47这个种子在26这个范围内,所对应的随机数为24,所以每次随机得出的结果都为24.
(注意:47在26这个范围内对应的是24,这个是死的,固定的,无论你执行多少次,它还是24)
至于为什么种子47会对应24,这个涉及到java封装的算法,有兴趣可以深入了解。
但是大家可能会发现,平常我们生成随机数的时候并没有传那个种子,如下:
Random r = new Random();
int a = r.nextInt(26);
System.out.println(a);
然后一运行,发现每次运行出来的结果不一样,是所谓的随机数,原来如果没有种子的话,程序会取当前日期的毫秒数来作为
种子,所以每次执行种子都会不同,因为每次时间的毫秒数是不一样的,所以随机出来的数也就会不同。
总之,new Random(47)里面的47表示产生随机数的一个种子,nextInt(26)表示随机数的范围,种子和范围是相关联的,一个
种子对应一个范围内的一个固定的随机数,如果不填种子,则会默认取当前时间的毫秒数作为种子来生成随机数。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162939.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ntvicat激活码(注册激活)

    (ntvicat激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html1M2OME2TZY-eyJsaWN…

  • 工具杂记-notepad++正则表达式匹配替换

    工具杂记-notepad++正则表达式匹配替换这里其实是这样的就是有时候我们建表不规范,导致idea自动生成的实体类有bug。get/set后面的字母为小写,这样但要使用反射的时候。就会出现问题。找不到这个方法。这里我们可以通过使用notepad++用正则表达式进行替换。这是一个很好的工具:这里可以替换文件夹里面所有文件。这里我以单个文件为例:如下点击repalceAll即可替换运行后结果如下:…

  • PLSQL的使用「建议收藏」

    PLSQL的使用「建议收藏」PLSQL这个工具专门为oracle开发的(它只能连接oracle数据库)很多工具都可以连接oracle数据库(常用的有navicat、toad、plsql等)1.1 初次登录PLSQL

  • Win10 CMD命令大全—超好用快捷键

    Win10 CMD命令大全—超好用快捷键一、WindowsCMD命令大全1、按组合键Win(Windows图标键)+R键打开运行窗口,输入“cmd”按回车即可打开cmd命令提示符2、在窗口右击选择属性可进行个性化设置~命令功能1、calc启动计算器2、appwiz.cpl程序和功能3、certmgr.msc证书管理实用程序4、charmap启动字符映射表5、chkdsk.exeChkdsk磁盘检查(管理员身份运行命令提示符)6、cleanmgr打开磁盘清理工具7、

  • ssh配置免密码登录(linux免密登录)

    由于公司的生产环境有很多台Linux的CentOS服务器,为了方便机子(假设两台机子A,B)互相之间免密ssh,scp命令操作,配置如下1.在A、B上分别创建本机的公钥和私钥,输入命令后连续三次回车ssh-keygen-trsa2.查看公私钥的文件生成情况cd~/.ssh/ls看到列表有2个文件:文件说明:id_rsa:生成的私钥文件id_rsa.pub:生成的公钥文件3….

  • 服务器资源监控工具—nmon

    服务器资源监控工具—nmon      在性能测试过程中,对服务端的各项资源使用情况进行监控是很重要的。对于监控服务器资源的工具nmon是最好不过了。      nmon不仅可以监控内存使用情况、磁盘适配器、文件系统中的可用空间、CPU使用率、页面空间和页面速度、异步I/O(仅适用于AIX)、网络文件系统(NFS)、磁盘I/O速度和读写比率、服务器详细信息和资源、内核统计信息、消耗资源进程、运行队列信息等。而且它资源…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号