文章目录

  • 1 Math 类概述
  • 2 常用的数学运算方式
  • 2.1 三角函数方法
  • 2.2 指数函数方法
  • 2.3 取整数函数方法
  • 2.4取最大值、最小值、绝对值函数方法
  • 后记



1 Math 类概述

Math类表示数学类,它位于java.lang包中,由系统默认调用,该类中提供了众多数学函数方法,主要包括三角函数方法,指数函数方法,取整函数方法,取最大值,最小值以及绝对值函数方法,这些方法都被定义为static形式,因此在程序中可以直接通过类名进行调用。使用形式如下:

Math.数学方法

在Math类中除了函数方法之外还存在一些常用的数学变量,如PI、E等,这些数学常量作为Math的成员变量出现,调用起来也很简单,使用形式如下:

Math.PI
Math.E

2 常用的数学运算方式

Math类中常用的数学运算方法较多,大致可以将其分成四大类别:分别是三角函数方法,指数函数方法,取整函数方法以及取最大值、最小值和绝对函数方法,下面分别介绍:

2.1 三角函数方法

方法

返回值

功能描述

sin(double a)

double

返回角的三角正弦

cos(double a)

double

返回角的三角余弦

tan(double a)

double

返回角的三角正切

asin(double a)

double

返回一个值的反正弦

acos(double a)

double

返回一个值的反余弦

atan(double a)

double

返回一个值的反正切

toRadians(double angdeg)

double

将角度转换为弧度

toDegrees(double angrad)

double

将弧度转换为角度

以上的每个方法的参数和返回值都是double型的,将这些方法的参数的值设置为double型是有一定的道理的,参数以弧度代替角度来实现,其中 1° 等于 π/180弧度,所以180°可以用π弧度来表示。除了可以获取角的正弦,余弦,正切。等之外,还提供了角度和弧度互相转化的方法,但是这两种转化通常是不精确的。

public class TrigonometricFunction {
	public static void main(String[] args) {
		// 取90度的正弦
		System.out.println("90度的正弦值:" + Math.sin(Math.PI / 2));
		System.out.println("0度的余弦值:" + Math.cos(0)); // 取0度的余弦
		// 取60度的正切
		System.out.println("60度的正切值:" + Math.tan(Math.PI / 3));
		// 取2的平方根与2商的反正弦
		System.out.println("2的平方根与2商的反弦值:"
				+ Math.asin(Math.sqrt(2) / 2));
		// 取2的平方根与2商的反余弦
		System.out.println("2的平方根与2商的反余弦值:"
				+ Math.acos(Math.sqrt(2) / 2));
		System.out.println("1的反正切值:" + Math.atan(1)); // 取1的反正切
		// 取120度的弧度值
		System.out.println("120度的弧度值:" + Math.toRadians(120.0));
		// 取π/2的角度
		System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI / 2));
	}
}

java math 函数 计算方差 java中的math方法_java math 函数 计算方差


因为π本身的结果也是一个近似值,所以这些结果并不能保证十分的准确。

2.2 指数函数方法

方法

返回值

功能描述

exp(double a)

double

用于获取e的a次方,既取ea

double log(double a)

double

用于获取自然对数,既取lna的值

double log10(double a)

double

用于取底数为10的对数

sqrt(double a)

double

用于取a的平方根,其中a的值不能为复数

cbrt(double a)

double

用于取a的立方根

pow(double a,double b)

double

用于取a的b次方

public class ExponentFunction {
	public static void main(String[] args) {
		System.out.println("e的平方值:" + Math.exp(2)); // 取e的2次方
		// 取以e为底2的对数
		System.out.println("以e为底2的对数值:" + Math.log(2));
		// 取以10为底2的对数
		System.out.println("以10为底2的对数值:" + Math.log10(2));
		System.out.println("4的平方根值:" + Math.sqrt(4)); // 取4的平方根
		System.out.println("8的立方根值:" + Math.cbrt(8)); // 取8的立方根
		System.out.println("2的2次方值:" + Math.pow(2, 2)); // 取2的2次方
	}
}

java math 函数 计算方差 java中的math方法_取整_02

2.3 取整数函数方法

方法

返回值

功能描述

ceil(double a)

double

返回大于等于参数的最小整数

floor(double a)

double

返回小于等于参数的最大整数

rint(double a)

double

返回与参数最接近的整数,如果两个同为整数且同样接近,则结果取偶数

round(float a)

double

将参数加上0.5后返回与参数最近的整数

round(double a)

double

将参数加上0.5后返回与参数最接近的整数,然后强制转换为长整型

由于1.5距离2.0和1.0都是0.5个单位长度,因此Math.rint(1.5)返回值是2.0

public class IntFunction {
	public static void main(String[] args) {
		// 返回第一个大于等于参数的整数
		System.out.println("5.2 使用ceil()方法取整:" + Math.ceil(5.2));
		// 返回第一个小于等于参数的整数
		System.out.println("2.5 使用floor()方法取整:" + Math.floor(2.5));
		// 返回与参数最接近的整数
		System.out.println("2.7 使用rint()方法取整:" + Math.rint(2.7));
		// 返回与参数最接近的整数
		System.out.println("2.5 使用rint()方法取整:" + Math.rint(2.5));
		// 将参数加上0.5后返回最接近的整数
		System.out.println("3.4f 使用round()方法取整:" + Math.round(3.4f));
		// 将参数加上0.5后返回最接近的整数,并将结果强制转换为长整型
		System.out.println("2.5 使用round()方法取整:" + Math.round(2.5));
	}
}

java math 函数 计算方差 java中的math方法_Java Math类_03

2.4取最大值、最小值、绝对值函数方法

方法

返回值

功能描述

max(double a,double b)

double

取a和b之间的最大值

min(int a,int b)

int

取a和b之间的最小值,参数为整型

min(long a,long b)

long

取a和b之间的最小值,参数为长整型

min(float a,float b)

float

取a和b之间的最小值,参数为浮点型

min(double a,double b)

double

取a和b之间的最小值,参数为双精度型

abs(int a)

int

返回整型参数的绝对值

abs(long a)

long

返回长整型参数的绝对值

abs(float a)

float

返回浮点型参数的绝对值

abs(double a)

double

返回双精度型参数的绝对值

public class AnyFunction {
	public static void main(String[] args) {
		System.out.println("4和8较大者:" + Math.max(4, 8)); 
		 // 取两个参数的最小值
		System.out.println("4.4和4较小者:" + Math.min(4.4, 4));
		System.out.println("-7的绝对值:" + Math.abs(-7)); // 取参数的绝对值
	}
}

java math 函数 计算方差 java中的math方法_System_04

后记

还有一个随机数函数 Math.random(),后面会和Random类做一下比较,并用仿微信抢红包的逻辑来试一下。