Java中随机数

Java中随机数    在Java中主要提供了两种方式产生随机数,分别为调用Math类的random()方法和Random类提供的产生各种数据类型随机数的方法。1.Math.random()方法这个方法默认生成大于等于0.0且小于1.0的double型随机数,即0<=Math.random()<1.0。虽然Math.random()方法只可以产生0~1之间的double型数字,其实…

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

        在Java中主要提供了两种方式产生随机数,分别为调用Math类的random()方法和Random类提供的产生各种数据类型随机数的方法。

1.Math.random()方法

这个方法默认生成大于等于0.0且小于1.0的double型随机数,即0<=Math.random()<1.0。

虽然Math.random()方法只可以产生0~1之间的double型数字,其实只要在Math.random()语句上稍加处理,就可以使用这个方法产生任意范围的随机数,如:

(int)(Math.random()*n)—–>返回大于等于0且小于n的整数

  m+(int)(Math.random()*n)—–>返回大于等于m且小于m+n(不包括m+n)的随机数

Java中随机数

使用Math类的random()方法也可以随机生成字符,可以使用如下代码生成a~z之间的字符:

(char)(‘a’+Math.random()*(‘z’-‘a’+1));      //加1是因为要取到z

Java中随机数

2.Random类

(1)除了Math类中的random()方法可以获取随机数之外,Java中还提供了一种可以获取随机数的方式,那就是java.util.Random类。可以通过实例化一个Random对象创建一个随机数生成器。

Random r=new Random();

以这种方式实例化对象时,Java编译器以系统当前时间作为随机数生成器的种子,因为每时每刻的时间不可能相同,所以产生的随机数将不同,但是如果运行速度太快,也会产生两次运行结果相同的随机数。

(2)同时也可以在实例化Random类对象时,设置随机数生成器的种子。

Random r=new Random(seedValue);

在Random类中提供了获取各种数据类型随机数的方法,下面列举几个常用的方法:

        public int nextInt(): 返回一个随机整数
		public int nextInt(int n): 返回大于等于0且小于n的随机整数
		public long nextLong(): 返回一个随机长整型值
		public boolean nextBoolean(): 返回一个随机布尔型值
		public float nextFloat(): 返回一个随机浮点型值
		public double nextDouble(): 返回一个随机双精度型值
		public double nextGaussian(): 返回一个概率密度为高斯分布的双精度值

Java中随机数

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

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

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

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

(0)


相关推荐

  • 很详细的解决Tomcat乱码问题

    很详细的解决Tomcat乱码问题解决Tomcat乱码问题一、问题提出二、乱码原因三级目录一、问题提出相信很多初始Tomcat的小伙伴都会遇到下面的情况,启动Tomcat是一大堆看不懂的文字,比如。。。相信很多有强迫症的同学,看到这些很不爽,我也是,接下来我就来说一下解决方案。二、乱码原因三级目录……

  • 职称计算机考试选什么模块,职称计算机考试如何选择模块?

    职称计算机考试选什么模块,职称计算机考试如何选择模块?原标题:职称计算机考试如何选择模块?众所周知,自从2013年开始,已有所增加,模块数理由原来的22个模块增加到26个考试科目。所以,考生可根据自身基础、平时接触多的或兴趣选择报考科目,按规定参加职称计算机考试的人员必须通过规定的模块数量,因各地区政策不同考生具体可登陆当地人事咨询网次查看,为了让考生更好选择职称计算机考试模块。职称计算机考试中心为考生提供如下参考:一、选择模块的原则:首先,根据考生…

  • Java判断对象是否为空的方法:isEmpty,null,” “[通俗易懂]

    Java判断对象是否为空的方法:isEmpty,null,” “[通俗易懂]今天修改辞职同事遗留的代码才发现这个问题,不能用isEmpty来判断一个对象是否为null,之前没在意这个问题,在报了空指针之后才发现这个问题。查了一下关于判断为空的几个方法的区别,这里做一个简单的总结:null一个对象如果有可能是null的话,首先要做的就是判断是否为null:object==null,否则就有可能会出现空指针异常,这个通常是我们在进行数据库的查询操作时,查询结果首…

  • volatile指令重排[通俗易懂]

    volatile指令重排[通俗易懂]什么时候会发生指令重排?先来一个测试指令重排现象,下面这段代码会发生指令重排,也就是JVM优化了执行顺序。/***指令重排测试*/publicclassCommandDisorder{//当使用volatile关键词修饰变量时,则不会出现指令重排现象privatestatic/*volatile*/inta=0,b=0,c=0,d=0;/***测试方式:一次开启两个线程,同时修改变量*/

    2022年10月10日
  • MySQL删除数据库[通俗易懂]

    MySQL删除数据库[通俗易懂]MySQL删除数据库

  • idea最新激活码2021[在线序列号][通俗易懂]

    idea最新激活码2021[在线序列号],https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

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

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