随机数的生成方法

本文介绍了Java中生成随机数的两种方式:Math.random()方法和Random类。Math.random()用于生成[0,1)的double型随机数,通过公式可以转换为任意范围。Random类则提供了更多类型的随机数生成方法,如整数、长整型、布尔值等,并展示了如何使用这些方法。
摘要由CSDN通过智能技术生成

1、Math.random()方法
在Math类中存在一个random()方法,用于产生随机数字,这个方法默认生成大于等于0.0小于1.0的double型随机数,即[0,1)虽然Math.random()方法只可以产生[0,1)之间的double型数字,其实只要在Math.random()语句上稍加处理,就可以使用这个方法产生任意范围的随机数。
 

公式:(数据类型)(最小值+Math.random()*(最大值-最小值+1))

flag =(int)Math.floor(2*Math.random());//随机产生[0,2),再向下取整得0或1.

Math.random() 方法返回的随机数值类型为double型,就算与整型数字相乘扩大了数值范围,但是仍然会自动类型转换int->double。所以赋值给一个int类型变量,要使用强制转换。

2、Random类

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

语法如下:

Random r=new Random();

其中,r是指Random对象。

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

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

	public static void main(String args[]){
		// 实例化一个Random类
		Random r = new Random();
 
		// 随机产生一个整数
		System.out.println("随机产生一个整数:" + r.nextInt());
 
		// 随机产生一个大于等于0且小于10的整数
		System.out.println("随机产生一个大于等于0且小于10的整数:" + r.nextInt(10));
 
		// 随机产生一个布尔类型的值
		System.out.println("随机产生一个布尔类型的值:" + r.nextBoolean());
 
		// 随机产生一个双精度型的值
		System.out.println("随机产生一个双精度型的值:" + r.nextDouble());
 
		// 随机产生一个浮点型的值
		System.out.println("随机产生一个浮点型的值:" + r.nextFloat());
 
		// 随机产生一个概率密度为高斯分布的双精度值
		System.out.println("随机产生一个概率密度为高斯分布的双精度值:" + r.nextGaussian());
	}

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值