文章目录

  • 0 写在前面
  • 1 Math的所有方法
  • 2 举例
  • 3 数学函数中的常量
  • 写在最后


0 写在前面

在 Math 类中,包含了各种各样的数学函数。在编写不同类别的程序时,可能需要的函数也不同。
例如进行幂运算,需要借助于Math类的 pow方法。以下语句:double y = Math.pow(x,a);

1 Math的所有方法

以下static 代表静态方法的意思

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到零圆周率。

static int

addExact(int x, int y) 返回参数的总和,抛出一个异常,如果结果溢出一个 int

static long

addExact(long x, long y) 返回参数的总和,抛出一个异常,如果结果溢出 long

static double

asin(double a) 返回一个值的圆弧正弦;返回的角度范围在零圆周率/ 2通过空圆周率/ 2。

static double

atan(double a) 返回一个值的反正切值;返回的角度范围在零圆周率/ 2通过空圆周率/ 2。

static double

atan2(double y, double x) 返回从直角坐标转换角空θ( xy)极坐标(r, 空θ)。

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 int

decrementExact(int a) 返回参数减一,抛出一个异常,如果结果溢出一个 int

static long

decrementExact(long a) 返回参数减一,抛出一个异常,如果结果溢出 long

static double

exp(double a) 返回欧拉数努尔提升到一 double价值动力。

static double

expm1(double x) 返回nulle X - 1。

static double

floor(double a) 收益最大(最接近正无穷大) double值小于或等于该参数等于数学整数。

static int

floorDiv(int x, int y) 收益最大(最接近正无穷大) int值小于或等于代数商。

static long

floorDiv(long x, long y) 收益最大(最接近正无穷大) long值小于或等于代数商。

static int

floorMod(int x, int y) 返回参数的 int地板模数。

static long

floorMod(long x, long y) 返回参数的 long地板模数。

static int

getExponent(double d) 返回用于表示一个 double偏指数。

static int

getExponent(float f) 返回用于表示一个 float偏指数。

static double

hypot(double x, double y) 返回sqrt(nullx 二 + nully 二)没有中间的上溢或下溢。

static double

IEEEremainder(double f1, double f2) 计算剩余操作两参数由IEEE 754标准规定。

static int

incrementExact(int a) 返回参数递增1,抛出一个异常,如果结果溢出一个 int

static long

incrementExact(long a) 返回参数递增1,抛出一个异常,如果结果溢出 long

static double

log(double a) 收益率的自然对数(基地努尔)一 double价值。

static double

log10(double a) 返回以10为底的对数的一 double价值。

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 int

multiplyExact(int x, int y) 返回参数的产品,抛出一个异常,如果结果溢出一个 int

static long

multiplyExact(long x, long y) 返回参数的产品,抛出一个异常,如果结果溢出 long

static int

negateExact(int a) 返回自变量的否定,抛出一个异常,如果结果溢出一个 int

static long

negateExact(long a) 返回自变量的否定,抛出一个异常,如果结果溢出 long

static double

nextAfter(double start, double direction) 返回在第二个参数的方向上与第一个参数相邻的浮点数。

static float

nextAfter(float start, double direction) 返回在第二个参数的方向上与第一个参数相邻的浮点数。

static double

nextDown(double d) 返回邻近 d在负无穷大的方向的浮点值。

static float

nextDown(float f) 返回邻近 f在负无穷大的方向的浮点值。

static double

nextUp(double d) 返回邻近 d在正无穷大方向的浮点值。

static float

nextUp(float 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×2 scaleFactor圆润好像由一个单一的正确舍入的浮点乘法的双重价值的成员组。

static float

scalb(float f, int scaleFactor) 返回 f×2 scaleFactor圆润好像由一个单一的正确舍入的浮点乘法的float值集成员。

static double

signum(double d) 返回自变量的符号函数;零如果参数为零,1如果参数大于零,1如果参数小于零。

static float

signum(float f) 返回自变量的符号函数;零如果参数为零,1.0f如果参数大于零,-1.0f如果参数小于零。

static double

sin(double a) 返回一个角度的三角正弦。

static double

sinh(double x) 返回一个 double的双曲正弦值。

static double

sqrt(double a) 返回正平方根入一 double价值。

static int

subtractExact(int x, int y) 返回参数的差异,抛出一个异常,如果结果溢出一个 int

static long

subtractExact(long x, long y) 返回参数的差异,抛出一个异常,如果结果溢出 long

static double

tan(double a) 返回一个角的三角切线。

static double

tanh(double x) 返回一个 double的双曲正切值。

static double

toDegrees(double angrad) 将一个测量角度弧度近似等效的角度衡量度。

static int

toIntExact(long value) 返回的 long参数的值;抛出一个异常,如果值溢出一个 int

static double

toRadians(double angdeg) 转换一个角度衡量度的近似等效用弧度测量的角。

static double

ulp(double d) 返回一个小规模的争论。

static float

ulp(float f) 返回一个小规模的争论。

2 举例

所以数学函数调用方法还是很简单的,有两种办法:

1.Math.方法名(对应参数);
	2.在类中引入Math包,然后直接用Math下的 方法名(对应参数)

如果我想求得两个数比较大的那个值可以直接使用max(int a, int b) 方法一实现:Math.方法名(对应参数);

public class MathTest {
    public static void main(String[] args) {
        int a = 3;
        int b = 9;
        int max = Math.max(a, b);
        System.out.println(max);//输出9
    }
}

如果我想求a的b次方,则直接使用

import static java.lang.Math.*;
public class MathTest {
    public static void main(String[] args) {
        int a = 3;
        int b = 9;
        double pow = Math.pow(a, b);
        System.out.println(pow);//19683.0
    }
}
}

3 数学函数中的常量

Java还提供了两个用于表示π和e常量的最接近的近似值:

Math.PI

Math.E

可以看一下:

java调用次方函数 java次方的函数_开发语言


如果在JAVA代码中可以直接使用:

System.out.println(Math.E);
	    double r = 3;
        System.out.println("圆的面积接近于:" + Math.PI * r * r);

输出

2.718281828459045
圆的面积接近于:28.274333882308138

写在最后

Math像是一个数学工具类一样,实际上在开发中这个还是比较好用的。
例如:如果直接用int的类型去计算10亿*4的话,结果为-294967296。因为这是一个计算溢出,超过了int最大储存数,而Math 类提供了一些方法使整数有更好的运算安全性。Math,multiplyExact(1000000000,4),就会生成一个异常。你可以捕获这个异常或者让程序终止,而不是允许它给出一个错误的结果然后悄无声息地继续运行。