欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java中Math类的使用

程序员文章站 2022-04-18 10:12:36
...

1、Math类的介绍

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

Math类的常用方法:

方法 说明
static double sin(double a) 计算角 a 的正弦值。
static double sin(double a) 计算角 a 的余弦值。
static double pow(double a, double b) 计算 a 的 b 次方。
static double sqrt(double a) 计算 a 的平方根。
static int abs(int a) 计算 int 类型值 a 的绝对值。它接受的参数类型还可以是 float、long 和 double。
static double ceil(double a) 返回大于或等于 a 的最小整数值。
static double floor(double a) 返回小于或等于 a 的最大整数值。
static int max(int a, int b) 返回 int a 和 int b 之间的较大值。它接受的参数类型还可以是 long、float 和 double。
static int min(int a, int b) 返回 int a 和 int b 之间的较小值。它接受的参数类型还可以是 long、float 和 double。
static int round(float a) 返回指定数字的取整值,它接受的参数类型还可以是 long。
static double random() 用于产生随机数字,这个方法默认生成大于等于0.0小于1.0的double型随机数,即0<=Math.random()<1.0。

 

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));
	}
}

执行结果:

Java中Math类的使用

 

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'));
}

执行结果:

Java中Math类的使用