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)
blank

相关推荐

  • 笛卡尔坐标系,它结合了_笛卡尔坐标系的故事

    笛卡尔坐标系,它结合了_笛卡尔坐标系的故事第一节:1D数学1.基本数学概念自然数:人类在大自然中对自己的羊或者牛进行计数,而出现自然数,所以从0到N的整数被称为自然数。负数:有时候人类在交易物品的时候会先赊着,此时就是用负数表示。分数

  • pycharm如何关闭更新_win7怎么关闭系统更新

    pycharm如何关闭更新_win7怎么关闭系统更新关闭Pycharm2020.5.22自动更新1.为什么要关闭Pycharm自动更新?有的小白喜欢追新,一旦有更新就会想办法升级,但是很多人使用的专业版是D版,升级后就变为评估板了。所以告诉大家怎么关闭更新。2.操作方法(1)进入pycharm,选择”File”(2)选择“Settings”(3)选择“Appearance&Behavior”(4)选择“SystemSettings”(5)选择“Updates”(6)关闭自动更新“Au

  • 织梦CMS系统中power by dedecms怎么去掉?power by dedecms什么意思?

    织梦CMS系统中power by dedecms怎么去掉?power by dedecms什么意思?织梦CMS近期的新版本至2013-6-7更新包以来,不管新版还是旧版更新补丁包,更新后网站页底都会出现powerbydedecms。powerbydedecms什么意思呢,那powerbydedecms怎么去掉呢,请大家看以下方法:一、powerbydedecms什么意思在我们上网的时候,会见到页面页底很多带powerbydedecms的网站,powerbyded…

  • arraydeque方法_arrayset

    arraydeque方法_arrayset美人如斯!ArrayDeque是java中对双端队列的线性实现一.特性无容量大小限制,容量按需增长; 非线程安全队列,无同步策略,不支持多线程安全访问; 当用作栈时,性能优于Stack,当用于队列时,性能优于LinkedList 两端都可以操作 具有fail-fast特征 不能存储null 支持双向迭代器遍历注意:ArrayDeque的迭代器和大多数容器迭代器一样,都是…

  • 几种测试技术

    几种测试技术一、单元测试技术1.定义:单元测试又称为模块测试(程序测试),即集中力量来检验软件设计的最小单位——模块。       单元测试(unittesting),是指对软件中的最小可测试单元进行检查和验证。2.目的:单元测试的目的在于发现各模块内部可能存在的各种差错。3.内容/任务:    (1)模块接口测试(单元测试的基础):当模块通过外部设备进行输入/输出…

  • 什么是用户态和内核态的区别_内核态和用户态的概念

    什么是用户态和内核态的区别_内核态和用户态的概念什么是用户态和内核态从图上我们可以看出来通过系统调用将Linux整个体系分为用户态和内核态(或者说内核空间和用户空间)。那内核态到底是什么呢?其实从本质上说就是我们所说的内核,它是一种特殊的软件程序,特殊在哪儿呢?控制计算机的硬件资源,例如协调CPU资源,分配内存资源,并且提供稳定的环境供应用程序运行。用户态就是提供应用程序运行的空间,为了使应用程序访问到内核管理的资源例如CPU,内存,I/O。内核必须提供一组通用的访问接口,这些接口就叫系统调用。为什么要区分内核态和用户态往往我们的系统的资源是

发表回复

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

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