JAVA中数学函数

0 写在前面

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

1 Math的所有方法

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

static doubleabs(double a) 返回一个 double值的绝对值。
static floatabs(float a) 返回一个 float值的绝对值。
static intabs(int a) 返回一个值的绝对值 int
static longabs(long a) 返回一个 long值的绝对值。
static doubleacos(double a) 返回一个值的余弦;返回的角度范围在0到零圆周率。
static intaddExact(int x, int y) 返回参数的总和,抛出一个异常,如果结果溢出一个 int
static longaddExact(long x, long y) 返回参数的总和,抛出一个异常,如果结果溢出 long
static doubleasin(double a) 返回一个值的圆弧正弦;返回的角度范围在零圆周率/ 2通过空圆周率/ 2。
static doubleatan(double a) 返回一个值的反正切值;返回的角度范围在零圆周率/ 2通过空圆周率/ 2。
static doubleatan2(double y, double x) 返回从直角坐标转换角空θ( xy)极坐标(r, 空θ)。
static doublecbrt(double a) 返回一个值 double立方根。
static doubleceil(double a) 返回最小(接近负无穷大) double值是大于或等于的说法,等于一个数学整数。
static doublecopySign(double magnitude, double sign) 用第二个浮点参数的符号返回第一个浮点参数。
static floatcopySign(float magnitude, float sign) 用第二个浮点参数的符号返回第一个浮点参数。
static doublecos(double a) 返回一个角度的三角余弦。
static doublecosh(double x) 返回一个 double双曲余弦值。
static intdecrementExact(int a) 返回参数减一,抛出一个异常,如果结果溢出一个 int
static longdecrementExact(long a) 返回参数减一,抛出一个异常,如果结果溢出 long
static doubleexp(double a) 返回欧拉数努尔提升到一 double价值动力。
static doubleexpm1(double x) 返回nulle X - 1。
static doublefloor(double a) 收益最大(最接近正无穷大) double值小于或等于该参数等于数学整数。
static intfloorDiv(int x, int y) 收益最大(最接近正无穷大) int值小于或等于代数商。
static longfloorDiv(long x, long y) 收益最大(最接近正无穷大) long值小于或等于代数商。
static intfloorMod(int x, int y) 返回参数的 int地板模数。
static longfloorMod(long x, long y) 返回参数的 long地板模数。
static intgetExponent(double d) 返回用于表示一个 double偏指数。
static intgetExponent(float f) 返回用于表示一个 float偏指数。
static doublehypot(double x, double y) 返回sqrt(nullx 二 + nully 二)没有中间的上溢或下溢。
static doubleIEEEremainder(double f1, double f2) 计算剩余操作两参数由IEEE 754标准规定。
static intincrementExact(int a) 返回参数递增1,抛出一个异常,如果结果溢出一个 int
static longincrementExact(long a) 返回参数递增1,抛出一个异常,如果结果溢出 long
static doublelog(double a) 收益率的自然对数(基地努尔)一 double价值。
static doublelog10(double a) 返回以10为底的对数的一 double价值。
static doublelog1p(double x) 返回参数和1的总和的自然对数。
static doublemax(double a, double b) 返回两个 double值越大。
static floatmax(float a, float b) 返回两个 float值越大。
static intmax(int a, int b) 返回两个 int值越大。
static longmax(long a, long b) 返回两个 long值越大。
static doublemin(double a, double b) 返回两个 double值较小。
static floatmin(float a, float b) 返回两个 float值较小。
static intmin(int a, int b) 返回两个 int值较小。
static longmin(long a, long b) 返回两个 long值较小。
static intmultiplyExact(int x, int y) 返回参数的产品,抛出一个异常,如果结果溢出一个 int
static longmultiplyExact(long x, long y) 返回参数的产品,抛出一个异常,如果结果溢出 long
static intnegateExact(int a) 返回自变量的否定,抛出一个异常,如果结果溢出一个 int
static longnegateExact(long a) 返回自变量的否定,抛出一个异常,如果结果溢出 long
static doublenextAfter(double start, double direction) 返回在第二个参数的方向上与第一个参数相邻的浮点数。
static floatnextAfter(float start, double direction) 返回在第二个参数的方向上与第一个参数相邻的浮点数。
static doublenextDown(double d) 返回邻近 d在负无穷大的方向的浮点值。
static floatnextDown(float f) 返回邻近 f在负无穷大的方向的浮点值。
static doublenextUp(double d) 返回邻近 d在正无穷大方向的浮点值。
static floatnextUp(float f) 返回邻近 f在正无穷大方向的浮点值。
static doublepow(double a, double b) 返回将第一个参数的值提高到第二个参数的功率。
static doublerandom() 返回一个 double值与一个积极的迹象,大于或等于 0.0小于 1.0
static doublerint(double a) 返回 double值是在最接近的值的参数,相当于一个数学整数。
static longround(double a) 返回最近的 long的说法,与舍入到正无穷。
static intround(float a) 返回最近的 int的说法,与舍入到正无穷。
static doublescalb(double d, int scaleFactor) 返回 d×2 scaleFactor圆润好像由一个单一的正确舍入的浮点乘法的双重价值的成员组。
static floatscalb(float f, int scaleFactor) 返回 f×2 scaleFactor圆润好像由一个单一的正确舍入的浮点乘法的float值集成员。
static doublesignum(double d) 返回自变量的符号函数;零如果参数为零,1如果参数大于零,1如果参数小于零。
static floatsignum(float f) 返回自变量的符号函数;零如果参数为零,1.0f如果参数大于零,-1.0f如果参数小于零。
static doublesin(double a) 返回一个角度的三角正弦。
static doublesinh(double x) 返回一个 double的双曲正弦值。
static doublesqrt(double a) 返回正平方根入一 double价值。
static intsubtractExact(int x, int y) 返回参数的差异,抛出一个异常,如果结果溢出一个 int
static longsubtractExact(long x, long y) 返回参数的差异,抛出一个异常,如果结果溢出 long
static doubletan(double a) 返回一个角的三角切线。
static doubletanh(double x) 返回一个 double的双曲正切值。
static doubletoDegrees(double angrad) 将一个测量角度弧度近似等效的角度衡量度。
static inttoIntExact(long value) 返回的 long参数的值;抛出一个异常,如果值溢出一个 int
static doubletoRadians(double angdeg) 转换一个角度衡量度的近似等效用弧度测量的角。
static doubleulp(double d) 返回一个小规模的争论。
static floatulp(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代码中可以直接使用:

		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),就会生成一个异常。你可以捕获这个异常或者让程序终止,而不是允许它给出一个错误的结果然后悄无声息地继续运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值