Java Math(Java 数学公式)

在Java里,为了方便开发,提供了一套数学公式常用计算方法!我们只管调用,至于内部实现都被封装在里面! 比如常用的最大值,最小值,取绝对值,还有四舍五入等常用数学运算!这几个在开发过程会经常用到!

Java 算术计算

  • Math.sqrt() : 计算平方根
  • Math.cbrt() : 计算立方根
  • Math.pow(a, b) : 计算a的b次方
  • Math.max( , ) : 计算最大值
  • Math.min( , ) : 计算最小值
  • Math.abs() : 取绝对值
public class Test
{
	public static void main(String[] args) {
		System.out.println("sqrt 计算平方根 => " + Math.sqrt(81));
		System.out.println("cbrt 计算立方根 => " + Math.cbrt(2));
		System.out.println("pow, 计算a的b次方 => " + Math.pow(3, 2));
		System.out.println("max求最大值 => " + Math.max(6, 8));
		System.out.println("min求最小数 => " + Math.min(2.3, 4.5));
		System.out.println("abs求绝对值 " + Math.abs(-33));
		System.out.println("abs求绝对值 " +Math.abs(66));
	}
}

运算结果为

sqrt 计算平方根 => 9.0
cbrt 计算立方根 => 1.2599210498948732
pow, 计算a的b次方 => 9.0
max求最大值 => 8
min求最小数 => 2.3
abs求绝对值 33
abs求绝对值 66

Java 进位

  • Math.ceil(): 逢余进一
  • Math.floor() : 逢余舍一
  • Math.rint(): 四舍五入,返回double值。注意.5的时候会取偶数
  • Math.round(): 四舍五入,float时返回int值,double时返回long值
public class Test
{
	public static void main(String[] args) {
		System.out.println("30.3 逢余进一 => " + Math.ceil(30.3)); // -10.0
		System.out.println("21.5 逢余舍一 => " + Math.floor(21.5)); // -11.0
		System.out.println("10.5 四舍五入(返回double值。注意.5的时候会取偶数) => " + Math.rint(10.5)); // 10.0
		System.out.println("-10.5 四舍五入(float时返回int值,double时返回long值) =>" + Math.round(-10.5)); // 10
	}
}

运算结果为

30.3 逢余进一 => 31.0
21.5 逢余舍一 => 21.0
10.5 四舍五入(返回double值。注意.5的时候会取偶数) => 10.0
-10.5 四舍五入(float时返回int值,double时返回long值) =>-10

Java Math 类提供的方法

static double abs(double a)
返回 double 值的绝对值。
static float abs(float a)
返回 float 值的绝对值。
static int abs(int a)
返回 int 值的绝对值。
static long abs(long a)
返回 long 值的绝对值。
static double acos(double a)
返回一个值的反余弦;返回的角度范围在 0.0 到 pi 之间。
static double asin(double a)
返回一个值的反正弦;返回的角度范围在 -pi/2 到 pi/2 之间。
static double atan(double a)
返回一个值的反正切;返回的角度范围在 -pi/2 到 pi/2 之间。
static double atan2(double y, double x)
将矩形坐标 (x, y) 转换成极坐标 (r, theta),返回所得角 theta。
static double cbrt(double a)
返回 double 值的立方根。
static double ceil(double a)
返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
static double copySign(double magnitude, double sign)
返回带有第二个浮点参数符号的第一个浮点参数。
static float copySign(float magnitude, float sign)
返回带有第二个浮点参数符号的第一个浮点参数。
static double cos(double a)
返回角的三角余弦。
static double cosh(double x)
返回 double 值的双曲线余弦。
static double exp(double a)
返回欧拉数 e 的 double 次幂的值。
static double expm1(double x)
返回 ex -1。
static double floor(double a)
返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
static int getExponent(double d)
返回 double 表示形式中使用的无偏指数。
static int getExponent(float f)
返回 float 表示形式中使用的无偏指数。
static double hypot(double x, double y)
返回 sqrt(x2 +y2),没有中间溢出或下溢。
static double IEEEremainder(double f1, double f2)
按照 IEEE 754 标准的规定,对两个参数进行余数运算。
static double log(double a)
返回 double 值的自然对数(底数是 e)。
static double log10(double a)
返回 double 值的底数为 10 的对数。
static double log1p(double x)
返回参数与 1 之和的自然对数。
static double max(double a, double b)
返回两个 double 值中较大的一个。
static float max(float a, float b)
返回两个 float 值中较大的一个。
static int max(int a, int b)
返回两个 int 值中较大的一个。
static long max(long a, long b)
返回两个 long 值中较大的一个。
static double min(double a, double b)
返回两个 double 值中较小的一个。
static float min(float a, float b)
返回两个 float 值中较小的一个。
static int min(int a, int b)
返回两个 int 值中较小的一个。
static long min(long a, long b)
返回两个 long 值中较小的一个。
static double nextAfter(double start, double direction)
返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。
static float nextAfter(float start, double direction)
返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。
static double nextUp(double d)
返回 d 和正无穷大之间与 d 相邻的浮点值。
static float nextUp(float f)
返回 f 和正无穷大之间与 f 相邻的浮点值。
static double pow(double a, double b)
返回第一个参数的第二个参数次幂的值。
static double random()
返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
static double rint(double a)
返回最接近参数并等于某一整数的 double 值。
static long round(double a)
返回最接近参数的 long。
static int round(float a)
返回最接近参数的 int。
static double scalb(double d, int scaleFactor)
返回 d × 2scaleFactor,其舍入方式如同将一个正确舍入的浮点值乘以 double 值集合中的一个值。
static float scalb(float f, int scaleFactor)
返回 f × 2scaleFactor,其舍入方式如同将一个正确舍入的浮点值乘以 float 值集合中的一个值。
static double signum(double d)
返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 1.0;如果参数小于 0,则返回 -1.0。
static float signum(float f)
返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 1.0;如果参数小于 0,则返回 -1.0。
static double sin(double a)
返回角的三角正弦。
static double sinh(double x)
返回 double 值的双曲线正弦。
static double sqrt(double a)
返回正确舍入的 double 值的正平方根。
static double tan(double a)
返回角的三角正切。
static double tanh(double x)
返回 double 值的双曲线余弦。
static double toDegrees(double angrad)
将用弧度表示的角转换为近似相等的用角度表示的角。
static double toRadians(double angdeg)
将用角度表示的角转换为近似相等的用弧度表示的角。
static double ulp(double d)
返回参数的 ulp 大小。
static float ulp(float f)
返回参数的 ulp 大小。