Java中Math类的使用(四舍五入、随机数字)

83 篇文章 16 订阅

1、Math类的介绍

java.lang.Math 类提供了一些基本数字运算和几何运算的方法。此类中的所有方法都是静态的。这个类是 final 类,因此没有子类。

Math类的常用方法:

 

2、使用Math类实现四舍五入

示例:使用Math类实现四舍五入。

/**
 * 使用Math类实现四舍五入
 * 
 * @author pan_junbiao
 *
 */
public class mathTest
{
	public static void main(String[] args)
	{
		float num1 = 28.3f;
		float num2 = 28.7f;

		System.out.println("Math.ceil(double a)返回大于或等于 a 的最小整数值:");
		System.out.println(Math.ceil(num1));
		System.out.println(Math.ceil(num2));

		System.out.println("\nMath.floor(double a)返回小于或等于 a 的最大整数值:");
		System.out.println(Math.floor(num1));
		System.out.println(Math.floor(num2));

		System.out.println("\nMath.round(float a)返回指定数字的取整值:");
		System.out.println(Math.round(num1));
		System.out.println(Math.round(num2));
	}
}

执行结果:

 

3、使用Math.random()方法产生随机数字

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

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

上述公式为产生的随机数,范围包含最小值与最大值。

3.1 产生随机整数

/**
 * 产生随机整数(包含起始与终止范围)
 * 
 * @author pan_junbiao
 * @param num1 起始范围参数
 * @param num2 终止范围参数
 * @return 随机整数
 */
public static int GetRandomNum(int num1, int num2)
{
	int result = (int) (num1 + Math.random() * (num2 - num1 + 1));
	return result;
}
 
public static void main(String args[])
{
	// 产生100至999的随机整数
	System.out.println("任意一个100值999的整数:" + GetRandomNum(100, 999));
}

3.2 产生随机字符

/**
 * 产生随机字符(包含起始与终止范围)
 * 
 * @author pan_junbiao
 * @param char1 起始范围参数
 * @param char2 终止范围参数
 * @return 随机字符
 */
public static char GetRandomChar(char char1, char char2)
{
	char result = (char) (char1 + Math.random() * (char2 - char1 + 1));
	return result;
}
 
public static void main(String args[])
{
	// 获取a~z之间的随机字符
	System.out.println("任意小写字符:" + GetRandomChar('a', 'z'));
 
	// 获取A~Z之间的随机字符
	System.out.println("任意大写字符:" + GetRandomChar('A', 'Z'));
 
	// 获取0~9之间的随机字符
	System.out.println("0到9任意数字字符:" + GetRandomChar('0', '9'));
}

执行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

pan_junbiao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值