3. java.lang.Math

变量

E

double类型,最接近e,自然对数的基数

PI

double类型,最接近Π,圆的圆周与其直径的比率

方法

sin
public static double sin(double a)

返回角度的三角正弦值

如果参数为NaN或无穷大,则返回NaN

cos
public static double cos(double a)

返回角度的三角余弦值

如果参数为NaN或无穷大,则返回NaN

tan
public static double tan(double a)

返回角度的三角正切

如果参数为NaN或无穷大,则返回NaN

asin
public static double asin(double a)

返回值的反正弦值;返回的角度在*-pi* / 2到pi / 2的范围内

如果参数为NaN或其绝对值大于1,则结果为NaN

acos
public static double acos(double a)

返回值的反余弦值;返回的角度在0.0到pi的范围内

如果参数为NaN或其绝对值大于1,则结果为NaN

atan
public static double atan(double a)

返回值的反正切值;返回的角度在*-pi* / 2到pi / 2的范围内

如果参数是NaN,则结果为NaN

toRadians
public static double toRadians(double angdeg)

角度转弧度(radian),通常不精确

toDegrees
public static double toDegrees(double angrad)

弧度转角度(degre),通常不精确

注:cos(toRadians(90.0))不恰好等于0.0

运行结果:6.123233995736766E-17

exp
public static double exp(double a)

返回自然数底数e的参数次方

如果参数是NaN,则结果为NaN
如果参数是正无穷大,那么结果是正无穷大
如果参数为负无穷大,则结果为正零

log
public static double log(double a)

返回double类型的ln a

  • 如果参数为NaN或小于零,则结果为NaN。
  • 如果参数是正无穷大,那么结果是正无穷大。
  • 如果参数为正零或负零,则结果为负无穷大。
log10
public static double log10(double a)

返回double类型的log10 a

  • 如果参数为NaN或小于零,则结果为NaN。
  • 如果参数是正无穷大,那么结果是正无穷大。
  • 如果参数为正零或负零,则结果为负无穷大。
  • 如果参数等于10 n,用于整数n,则结果为n
sqrt
public static double sqrt(double a)

返回double值的正确舍入的正平方根(square root)

  • 如果参数为NaN或小于零,则结果为NaN。
  • 如果参数是正无穷大,那么结果是正无穷大。
  • 如果参数为正零或负零,则结果与参数相同。

否则,结果是最接近参数值的真数学平方根的double值。

cbrt
public static double cbrt(double a)

返回double值的立方根(cube root)

  • 如果参数是NaN,则结果为NaN。
  • 如果参数是无穷大,则结果是无穷大,其符号与参数相同。
  • 如果参数为零,则结果为零,其参数符号相同。
IEEEremainder
public static double IEEEremainder(double f1, double f2)

返回double类型的fi/f2的余数(remainder)

  • 如果任一参数为NaN,或者第一个参数为无穷大,或者第二个参数为正零或负零,则结果为NaN。
  • 如果第一个参数是有限的,第二个参数是无限的,那么结果与第一个参数相同。
ceil
public static double ceil(double a)

返回 double类型的[a]+1,进一取整(ceil)

  • 如果参数值已经等于数学整数,则结果与参数相同。
  • 如果参数为NaN或无穷大或正零或负零,则结果与参数相同。
  • 如果参数值小于零但大于-1.0,则结果为负零。
floor
public static double floor(double a)

返回 double类型的[a],舍弃取整(floor)

  • 如果参数值已经等于数学整数,则结果与参数相同。
  • 如果参数为NaN或无穷大或正零或负零,则结果与参数相同。
rint
public static double rint(double a)

返回double类型离a最近的值

注:大致等于四舍五入,但rint(n.5)为离n最近的整数,rint(6.5)=6,rint(7.5)=8

  • 如果参数值已经等于数学整数,则结果与参数相同。
  • 如果参数为NaN或无穷大或正零或负零,则结果与参数相同。
atan2
public static double atan2(double y, double x)

返回double类型,为坐标(x,y)的弧度,等同于atan(y/x)

  • 如果任一参数是NaN,则结果为NaN。
  • 如果第一个参数为正零且第二个参数为正,或者第一个参数为正且有限且第二个参数为正无穷大,则结果为正零。
  • 如果第一个参数为负零且第二个参数为正,或者第一个参数为负且有限且第二个参数为正无穷大,则结果为负零。
  • 如果第一个参数为正零且第二个参数为负,或者第一个参数为正且有限且第二个参数为负无穷大,则结果为最接近pidouble值。
  • 如果第一个参数是负零,第二个参数是负的,或者第一参数是负的有限值,第二个参数是负无穷大,那么结果是double值最接近- PI。
  • 如果第一个参数为正且第二个参数为正零或负零,或者第一个参数为正无穷大且第二个参数为有限,则结果为最接近pi / 2的double值。
  • 如果第一个参数是负的,第二个参数是正的零或负零,或者第一参数是负无穷大,并且第二个参数是有限的,那么结果是double最接近的值到- PI / 2。
  • 如果两个参数都是正无穷大,则结果是最接近pi / 4的double值。
  • 如果第一个参数是正无穷大而第二个参数是负无穷大,则结果是最接近3 * pi / 4的double值。
  • 如果第一个参数是负无穷大,第二个参数是正无穷大,那么结果是double最接近的值到- PI / 4。
  • 如果两个参数均为负无穷大,则结果是最接近-3 * pi / 4的double值。
pow
public static double pow(double a, double b)

返回double类型的 ab

  • 如果第二个参数为正或负零,则结果为1.0。

  • 如果第二个参数是1.0,则结果与第一个参数相同。

  • 如果第二个参数是NaN,则结果为NaN。

  • 如果第一个参数是NaN而第二个参数是非零,那么结果是NaN。

  • 如果

    • 第一个参数的绝对值大于1,第二个参数是正无穷大,或
    • 第一个参数的绝对值小于1,第二个参数为负无穷大,

    然后结果是正无穷大。

  • 如果

    • 第一个参数的绝对值大于1,第二个参数是负无穷大,或
    • 第一个参数的绝对值小于1,第二个参数是正无穷大,

    那么结果是正零。

  • 如果第一个参数的绝对值等于1而第二个参数是无穷大,则结果为NaN。

  • 如果

    • 第一个参数是正零,第二个参数大于零,或者
    • 第一个参数是正无穷大,第二个参数小于零,

    那么结果是正零。

  • 如果

    • 第一个参数是正零,第二个参数小于零,或者
    • 第一个参数是正无穷大,第二个参数大于零,

    然后结果是正无穷大。

  • 如果

    • 第一个参数是负零,第二个参数大于零但不是有限的奇数,或者
    • 第一个参数是负无穷大,第二个参数小于零但不是有限的奇数,

    那么结果是正零。

  • 如果

    • 第一个参数是负零,第二个参数是正有限奇数,或
    • 第一个参数是负无穷大,第二个参数是负有限奇数,

    然后结果是负零。

  • 如果

    • 第一个参数是负零,第二个参数小于零但不是有限的奇数,或者
    • 第一个参数是负无穷大,第二个参数大于零但不是有限的奇数,

    然后结果是正无穷大。

  • 如果

    • 第一个参数是负零,第二个参数是负有限奇数,或
    • 第一个参数是负无穷大,第二个参数是正有限奇数,

    然后结果是负无穷大。

  • 如果第一个参数是有限的且小于零

    • 如果第二个参数是有限偶数,则结果等于将第一个参数的绝对值提高到第二个参数的幂的结果
    • 如果第二个参数是有限的奇数,则结果等于将第一个参数的绝对值提高到第二个参数的幂的结果的负数
    • 如果第二个参数是有限的而不是整数,则结果为NaN。
  • 如果两个参数都是整数,那么结果完全等于将第一个参数提升到第二个参数的幂的数学结果,如果该结果实际上可以完全表示为double值。

(在前述的说明中,一个浮点值被认为是一个整数,当且仅当它是有限的,并且该方法的一个固定点ceil ,或等价地,该方法的一个固定点floor 。的值是一个固定的点当且仅当将该方法应用于该值的结果等于该值时,单参数方法。)

round
public static int round(float a)
public static long round(double a)

返回与参数最接近的int /long,四舍五入(round)

注:参数决定返回值的类型

  • 如果参数为NaN,则结果为0。

  • 如果参数为负无穷大或任何小于或等于Integer.MIN_VALUE的值,则结果等于Integer.MIN_VALUE的值。

  • 如果参数为正无穷大或任何大于或等于Integer.MAX_VALUE的值,则结果等于Integer.MAX_VALUE的值。

random
public static double random()

返回double类型的随机数(random),取值范围[0,1),该方法无参

首次调用此方法时,它会创建一个新的伪随机数生成器,就像表达式一样

new java.util.Random()

此后,此新伪随机数生成器用于对此方法的所有调用,并且在其他任何地方都不使用。

*此方法已正确同步,以允许多个线程正确使用。 但是,如果许多线程需要以很高的速率生成伪随机数,则可以减少每个线程拥有自己的伪随机数生成器的争用。

addExact
public static int addExact(int x, int y)
public static long addExact(long x, long y)

加法(add)函数,溢出抛异常,否则返回(x+y)的值,参数决定返回类型(参决返)

注:int 32位,long 64位,long要加L。

subtractExact
public static int subtractExact(int x, int y)
public static long subtractExact(long x, long y)

减法(subtract)函数,溢出抛异常,否则返回(x-y)的值,参决返

multiplyExact
public static int multiplyExact(int x, int y)
public static long multiplyExact(long x, int y)
public static long multiplyExact(long x, long y)

乘法(multiply)函数,溢出抛异常,否则返回(x*y)的值,参决返

注:参数有long则返回long类型

incrementExact
public static int incrementExact(int a)
public static long incrementExact(long a)

加一(increment)函数,溢出抛异常,否则返回a+1的值,参决返

decrementExact
public static int decrementExact(int a)
public static long decrementExact(long a)

减一(decrement)函数,溢出抛异常,否则返回a-1的值,参决返

negateExact
public static int negateExact(int a)
public static long negateExact(long a)

y=-x函数,溢出抛异常,否则返回-a的值,参决返

toIntExact
public static int toIntExact(long value)

longint函数,溢出抛异常,否则返回int类型的 value 值

multiplyFull
public static long multiplyFull(int x, int y)

返回long类型的x*y的值

multiplyHigh
public static long multiplyHigh(long x, long y)

返回long类型的x*y的前64位值,后64位舍去

注:long*long为128位

x*y的绝对值大于等于2^63,则返回值不为0

floorDiv
public static int floorDiv(int x, int y)
public static long floorDiv(long x, int y)
public static long floorDiv(long x, long y)

返回小于或等于代数商的最大值,参数有long则返回long类型

特殊:如果被除数是Long.MIN_VALUE(int为Integer.MIN_VALUE)且除数是-1 ,则发生整数溢出,结果等于Long.MIN_VALUE

*正整数除法在舍入到零舍入模式(截断)下操作。 相反,该操作在朝向负无穷大(地板)舍入模式的轮次下起作用。 当精确结果为负时,地板舍入模式会提供截断的不同结果。

floorMod
public static int floorMod(int x, int y)
public static int floorMod(long x, int y)
public static long floorMod(long x, long y)
abs
public static int abs(int a)
public static long abs(long a)
public static float abs(float a)
public static double abs(double a)

绝对值(absolute)函数,参决返

  • 如果参数为正零或负零,则结果为正零。
  • 如果参数是无限的,则结果是正无穷大。
  • 如果参数是NaN,则结果为NaN
max
public static int max(int a, int b)
public static long max(long a, long b)
public static float max(float a, float b)
public static double max(double a, double b)

最大值(max)函数,参决返

  • 如果任一值为NaN,则结果为NaN。

  • 如果一个参数为正零而另一个参数为负零,则结果为正零。

min
public static int min(int a, int b)
public static long min(long a, long b)
public static float min(float a, float b)
public static double min(double a, double b)

最小值(min)函数,参决返

  • 如果任一值为NaN,则结果为NaN。

  • 如果一个参数为正零而另一个参数为负零,则结果为负零。

fma
public static double fma(double a, double b, double c)
public static float fma(float a, float b, float c)

返回(a*b+c)的值,只在最后做一次舍入,参决返

  • 如果任何参数是NaN,则结果为NaN。
  • 如果前两个参数中的一个是无穷大而另一个是零,则结果为NaN。
  • 如果前两个参数的确切乘积是无穷大的(换句话说,至少有一个参数是无穷大而另一个既不是零也不是NaN),第三个参数是相反符号的无穷大,结果是NaN。
ulp
public static double ulp(double d)
public static float ulp(float f)
signum
public static double signum(double d)
public static float signum(float f)

符号函数(signum),正数1,负数-1,零0,参决返

sinh
public static double sinh(double x)
cosh
public static double cosh(double x)
tanh
public static double tanh(double x)
hypot
public static double hypot(double x, double y)

斜边长函数,返回sqrt(x^2,y^2)

expm1
public static double expm1(double x)

返回 e^x-1

注:对于接近0的x值, expm1(x) + 1的精确和更接近 e^x 的真实结果,而不是exp(x)

log1p
public static double log1p(double x)

返回 log(1+x)

copySign
public static double copySign(double magnitude, double sign)
public static float copySign(float magnitude, float sign)

返回一个数,magnitude为值,sign为符号,参决返

getExponent
public static int getExponent(float f)
public static int getExponent(double d)
nextAfter
public static double nextAfter(double start, double direction)
public static float nextAfter(float start, double direction)

返回离start最近的值,direction决定方向,若相等则返回direction

nextUp
public static double nextUp(double d)
public static float nextUp(float f)

返回离start最近的值,方向为正无穷,参决返

nextDown
public static double nextDown(double d)
public static float nextDown(float f)

返回离start最近的值,方向为负无穷,参决返

scalb
public static double scalb(double d, int scaleFactor)
public static float scalb(float f, int scaleFactor)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值