W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
java.lang.Object
|---java.lang.StrictMath
public final class StrictMath
extends Object
StrictMath 類包含執(zhí)行基本數(shù)值運(yùn)算的方法,例如初等指數(shù)、對數(shù)、平方根和三角函數(shù)。
為幫助確保 Java 程序的可移植性,此包中某些數(shù)值函數(shù)的定義要求它們產(chǎn)生與某些已發(fā)布算法相同的結(jié)果。這些算法可從著名的網(wǎng)絡(luò)庫 netlib 中以包“Freely Distributable Math Library”fdlibm 的形式獲得。這些算法是用 C 編程語言編寫的,因此可以理解為按照 Java 浮點(diǎn)運(yùn)算規(guī)則執(zhí)行所有浮點(diǎn)運(yùn)算。
Java 數(shù)學(xué)庫是針對 fdlibm 5.3 版定義的。如果 fdlibm 為函數(shù)(例如 acos)提供了多個定義,請使用“IEEE 754 核心函數(shù)”版本(駐留在名稱以字母 e 開頭的文件中)。需要 fdlibm 語義的方法有 sin、cos、tan、asin、acos、atan、exp、log、log10、cbrt、atan2、pow、sinh、cosh、tanh、hypot、expm1 和 log1p。
該平臺使用帶有 int 和 long 原始類型的帶符號二進(jìn)制補(bǔ)碼整數(shù)算術(shù)。開發(fā)人員應(yīng)選擇原始類型以確保算術(shù)運(yùn)算始終產(chǎn)生正確的結(jié)果,這在某些情況下意味著運(yùn)算不會溢出計(jì)算值的范圍。最佳實(shí)踐是選擇原始類型和算法以避免溢出。在大小為 int 或 long 且需要檢測溢出錯誤的情況下,方法 addExact、subtractExact、multiplyExact 和 toIntExact 在結(jié)果溢出時拋出 ArithmeticException。對于其他算術(shù)運(yùn)算,例如除法、絕對值、遞增、遞減和求反,溢出僅發(fā)生在特定的最小值或最大值時,應(yīng)根據(jù)需要檢查最小值或最大值。
修飾符和類型 | 字段 | 描述 |
---|---|---|
static double | E | 比任何其他值都更接近自然對數(shù)的底 e 的雙精度值。 |
static double | PI | 比任何其他值都更接近 pi 的 double 值,pi 是圓的周長與其直徑的比率。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
static double | abs(double a) | 返回雙精度值的絕對值。 |
static float | abs(float a) | 返回浮點(diǎn)值的絕對值。 |
static int | abs(int a) | 返回 int 值的絕對值。 |
static long | abs(long a) | 返回 long 值的絕對值。 |
static double | acos(double a) | 返回一個值的反余弦值; 返回的角度在 0.0 到 pi 的范圍內(nèi)。 |
static int | addExact(int x, int y) | 返回其參數(shù)的總和,如果結(jié)果溢出 int,則拋出異常。 |
static long | addExact(long x, long y) | 返回其參數(shù)的總和,如果結(jié)果溢出 long 則拋出異常。 |
static double | asin(double a) | 返回一個值的反正弦; 返回的角度在 -pi/2 到 pi/2 的范圍內(nèi)。 |
static double | atan(double a) | 返回值的反正切; 返回的角度在 -pi/2 到 pi/2 的范圍內(nèi)。 |
static double | atan2 x) | 從直角坐標(biāo) (x, y) 到極坐標(biāo) (r, theta) 的轉(zhuǎn)換中返回角度 theta。 |
static double | cbrt(double a) | 返回雙精度值的立方根。 |
static double | ceil(double a) | 返回大于或等于參數(shù)且等于數(shù)學(xué)整數(shù)的最?。ㄗ罱咏?fù)無窮大)雙精度值。 |
static double | copySign(double magnitude, double sign) | 返回帶有第二個浮點(diǎn)參數(shù)符號的第一個浮點(diǎn)參數(shù)。 |
static float | copySign(float magnitude, float sign) | 返回帶有第二個浮點(diǎn)參數(shù)符號的第一個浮點(diǎn)參數(shù)。 |
static double | cos(double a) | 返回角度的三角余弦值。 |
static double | cosh(double x) | 返回 double 值的雙曲余弦值。 |
static double | exp(double a) | 返回歐拉數(shù) e 的雙精度次方。 |
static double | expm1(double x) | 返回 ex -1。 |
static double | floor(double a) | 返回小于或等于參數(shù)且等于數(shù)學(xué)整數(shù)的最大(最接近正無窮大)雙精度值。 |
static int | floorDiv(int x, int y) | 返回小于或等于代數(shù)商的最大(最接近正無窮大)int 值。 |
static long | floorDiv(long x, long y) | 返回小于或等于代數(shù)商的最大(最接近正無窮大)long 值。 |
static int | floorMod(int x, int y) | 返回 int 參數(shù)的底模。 |
static long | floorMod(long x, long y) | 返回 long 參數(shù)的底模。 |
static int | getExponent(double d) | 返回用于表示雙精度的無偏指數(shù)。 |
static int | getExponent(float f) | 返回浮點(diǎn)數(shù)表示中使用的無偏指數(shù)。 |
static double | hypot(double x, double y) | 返回 sqrt(x2 +y2) 沒有中間溢出或下溢。 |
static double | IEEEremainder(double f1, double f2) | 計(jì)算 IEEE 754 標(biāo)準(zhǔn)規(guī)定的兩個參數(shù)的余數(shù)運(yùn)算。 |
static double | log(double a) | 返回雙精度值的自然對數(shù)(以 e 為底)。 |
static double | log10(double a) | 返回雙精度值的以 10 為底的對數(shù)。 |
static double | log1p(double x) | 返回參數(shù)和 1 之和的自然對數(shù)。 |
static double | max(double a, double b) | 返回兩個雙精度值中的較大者。 |
static float | max(float a, float b) | 返回兩個浮點(diǎn)值中的較大者。 |
static int | max(int a, int b) | 返回兩個 int 值中的較大者。 |
static long | max(long a, long b) | 返回兩個 long 值中的較大者。 |
static double | min(double a, double b) | 返回兩個雙精度值中較小的一個。 |
static float | min(float a, float b) | 返回兩個浮點(diǎn)值中較小的一個。 |
static int | min(int a, int b) | 返回兩個 int 值中較小的一個。 |
static long | min(long a, long b) | 返回兩個 long 值中較小的一個。 |
static int | multiplyExact(int x, int y) | 返回參數(shù)的乘積,如果結(jié)果溢出 int,則拋出異常。 |
static long | multiplyExact(long x, long y) | 返回參數(shù)的乘積,如果結(jié)果溢出 long 則拋出異常。 |
static double | nextAfter(double start, double direction) | 返回第二個參數(shù)方向上與第一個參數(shù)相鄰的浮點(diǎn)數(shù)。 |
static float | nextAfter(float start, double direction) | 返回第二個參數(shù)方向上與第一個參數(shù)相鄰的浮點(diǎn)數(shù)。 |
static double | nextDown(double d) | 返回在負(fù)無窮方向上與 d 相鄰的浮點(diǎn)值。 |
static float | nextDown(float f) | 返回在負(fù)無窮方向上與 f 相鄰的浮點(diǎn)值。 |
static double | nextUp(double d) | 返回正無窮方向上與 d 相鄰的浮點(diǎn)值。 |
static float | nextUp(float f) | 返回在正無窮大方向上與 f 相鄰的浮點(diǎn)值。 |
static double | pow(double a, double b) | 返回第一個參數(shù)的第二個參數(shù)次冪的值。 |
static double | random() | 返回一個帶正號的雙精度值,大于或等于 0.0 且小于 1.0。 |
static double | rint(double a) | 返回與參數(shù)值最接近且等于數(shù)學(xué)整數(shù)的雙精度值。 |
static long | round(double a) | 返回最接近參數(shù)的長整數(shù),并舍入為正無窮大。 |
static int | round(float a) | 返回最接近參數(shù)的 int,并舍入為正無窮大。 |
static double | scalb(double d, int scaleFactor) | 返回四舍五入的 d × 2scaleFactor,就像通過單個正確舍入的浮點(diǎn)乘以雙精度值集的成員一樣。 |
static float | scalb(float f, int scaleFactor) | 返回 f × 2scaleFactor 舍入,就好像通過單個正確舍入的浮點(diǎn)乘以浮點(diǎn)值集的成員一樣。 |
static double | signum(double d) | 返回參數(shù)的符號函數(shù); 如果參數(shù)為零,則為零,如果參數(shù)大于零,則為 1.0,如果參數(shù)小于零,則為 -1.0。 |
static float | signum(float f) | 返回參數(shù)的符號函數(shù); 如果參數(shù)為零,則為零,如果參數(shù)大于零,則為 1.0f,如果參數(shù)小于零,則為 -1.0f。 |
static double | sin(double a) | 返回角度的三角正弦值。 |
static double | sinh(double x) | 返回 double 值的雙曲正弦值。 |
static double | sqrt(double a) | 返回雙精度值的正確舍入正平方根。 |
static int | subtractExact(int x, int y) | 返回參數(shù)的差異,如果結(jié)果溢出 int,則拋出異常。 |
static long | subtractExact(long x, long y) | 返回參數(shù)的差異,如果結(jié)果溢出 long 則拋出異常。 |
static double | tan(double a) | 返回角度的三角正切。 |
static double | tanh(double x) | 返回 double 值的雙曲正切值。 |
static double | toDegrees(double angrad) | 將以弧度測量的角度轉(zhuǎn)換為以度為單位測量的大致等效角度。 |
static int | toIntExact(long value) | 返回 long 參數(shù)的值; 如果值溢出 int,則拋出異常。 |
static double | toRadians(double angdeg) | 將以度為單位的角度轉(zhuǎn)換為以弧度為單位的大致等效角度。 |
static double | ulp(double d) | 返回參數(shù)的 ulp 的大小。 |
static float | ulp(float f) | 返回參數(shù)的 ulp 的大小。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public static final double E
比任何其他值都更接近自然對數(shù)的底 e 的雙精度值。
public static final double PI
比任何其他值都更接近 pi 的 double 值,pi 是圓的周長與其直徑的比率。
public static double sin(double a)
返回角度的三角正弦值。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個角度,以弧度為單位。 |
返回:
參數(shù)的正弦。
public static double cos(double a)
返回角度的三角余弦值。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個角度,以弧度為單位。 |
返回:
參數(shù)的余弦。
public static double tan(double a)
返回角度的三角正切。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個角度,以弧度為單位。 |
返回:
參數(shù)的切線。
public static double asin(double a)
返回一個值的反正弦; 返回的角度在 -pi/2 到 pi/2 的范圍內(nèi)。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 要返回其反正弦的值。 |
返回:
參數(shù)的反正弦。
public static double acos(double a)
返回一個值的反余弦值; 返回的角度在 0.0 到 pi 的范圍內(nèi)。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 要返回其反余弦值的值。 |
返回:
參數(shù)的反余弦。
public static double atan(double a)
返回值的反正切; 返回的角度在 -pi/2 到 pi/2 的范圍內(nèi)。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 要返回其反正切的值。 |
返回:
參數(shù)的反正切。
public static double toRadians(double angdeg)
將以度為單位的角度轉(zhuǎn)換為以弧度為單位的大致等效角度。 從度數(shù)到弧度的轉(zhuǎn)換通常是不精確的。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
angdeg | 一個角度,以度為單位 |
返回:
以弧度為單位的角度 angdeg 的測量值。
public static double toDegrees(double angrad)
將以弧度測量的角度轉(zhuǎn)換為以度為單位測量的大致等效角度。 從弧度到度數(shù)的轉(zhuǎn)換通常是不精確的; 用戶不應(yīng)期望 cos(toRadians(90.0)) 完全等于 0.0。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
angrad | 一個角度,以弧度為單位 |
返回:
以度為單位的角度 angrad 的測量值。
public static double exp(double a)
返回歐拉數(shù) e 的雙精度次方。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 將 e 提高到的指數(shù)。 |
返回:
值 ea,其中 e 是自然對數(shù)的底。
public static double log(double a)
返回雙精度值的自然對數(shù)(以 e 為底)。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個值 |
返回:
ln a 的值,a 的自然對數(shù)。
public static double log10(double a)
返回雙精度值的以 10 為底的對數(shù)。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個值 |
返回:
a 的以 10 為底的對數(shù)。
public static double sqrt(double a)
返回雙精度值的正確舍入正平方根。 特別情況:
否則,結(jié)果是最接近參數(shù)值的真正數(shù)學(xué)平方根的雙精度值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個值 |
返回:
a 的正平方根。
public static double cbrt(double a)
返回雙精度值的立方根。 對于正有限 x,cbrt(-x) == -cbrt(x); 也就是說,負(fù)值的立方根是該值大小的立方根的負(fù)數(shù)。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個值 |
返回:
a的立方根。
public static double IEEEremainder(double f1, double f2)
計(jì)算 IEEE 754 標(biāo)準(zhǔn)規(guī)定的兩個參數(shù)的余數(shù)運(yùn)算。 余數(shù)在數(shù)學(xué)上等于 f1 - f2 × n,其中 n 是最接近商 f1/f2 的精確數(shù)學(xué)值的數(shù)學(xué)整數(shù),如果兩個數(shù)學(xué)整數(shù)同樣接近 f1/f2,則 n 是整數(shù) 那是均勻的。 如果余數(shù)為零,則其符號與第一個參數(shù)的符號相同。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
f1 | 被除數(shù) |
f2 | 除數(shù) |
返回:
f1 除以 f2 的余數(shù)。
public static double ceil(double a)
返回大于或等于參數(shù)且等于數(shù)學(xué)整數(shù)的最?。ㄗ罱咏?fù)無窮大)雙精度值。 特別情況:
請注意,StrictMath.ceil(x) 的值正是 -StrictMath.floor(-x) 的值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個值 |
返回:
大于或等于參數(shù)且等于數(shù)學(xué)整數(shù)的最小(最接近負(fù)無窮大)浮點(diǎn)值。
public static double floor(double a)
返回小于或等于參數(shù)且等于數(shù)學(xué)整數(shù)的最大(最接近正無窮大)雙精度值。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個值 |
返回:
小于或等于參數(shù)且等于數(shù)學(xué)整數(shù)的最大(最接近正無窮大)浮點(diǎn)值。
public static double rint(double a)
返回與參數(shù)值最接近且等于數(shù)學(xué)整數(shù)的雙精度值。 如果兩個作為數(shù)學(xué)整數(shù)的雙精度值與參數(shù)的值同樣接近,則結(jié)果是偶數(shù)的整數(shù)值。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個值 |
返回:
最接近等于數(shù)學(xué)整數(shù)的 a 的浮點(diǎn)值。
public static double atan2(double y, double x)
從直角坐標(biāo) (x, y) 到極坐標(biāo) (r, theta) 的轉(zhuǎn)換中返回角度 theta。此方法通過計(jì)算 -pi 到 pi 范圍內(nèi)的 y/x 的反正切來計(jì)算相位 theta。特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
y | 縱坐標(biāo) |
x | 橫坐標(biāo) |
返回:
極坐標(biāo)中點(diǎn) (r, theta) 的 theta 分量,對應(yīng)于笛卡爾坐標(biāo)中的點(diǎn) (x, y)。
public static double pow(double a, double b)
返回第一個參數(shù)的第二個參數(shù)次冪的值。 特別情況:
(在前面的描述中,浮點(diǎn)值被認(rèn)為是整數(shù)當(dāng)且僅當(dāng)它是有限的并且是方法 ceil 的不動點(diǎn),或者等效地,方法層的不動點(diǎn)。一個值是一個不動點(diǎn) 當(dāng)且僅當(dāng)將方法應(yīng)用于值的結(jié)果等于該值時,才屬于單參數(shù)方法。)
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 底 |
b | 指數(shù) |
返回:
值 ab。
public static int round(float a)
返回最接近參數(shù)的 int,并舍入為正無窮大。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 要舍入為整數(shù)的浮點(diǎn)值。 |
返回:
參數(shù)的值四舍五入到最接近的 int 值。
public static long round(double a)
返回最接近參數(shù)的長整數(shù),并舍入為正無窮大。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 要舍入為 long 的浮點(diǎn)值。 |
返回:
參數(shù)的值四舍五入到最接近的 long 值。
public static double random()
返回一個帶正號的雙精度值,大于或等于 0.0 且小于 1.0。 返回值是偽隨機(jī)選擇的,從該范圍(近似)均勻分布。
當(dāng)這個方法第一次被調(diào)用時,它會創(chuàng)建一個新的偽隨機(jī)數(shù)生成器,就像通過表達(dá)式一樣
new java.util.Random()
這個新的偽隨機(jī)數(shù)生成器隨后用于對該方法的所有調(diào)用,并且不會在其他任何地方使用。
此方法已正確同步,以允許多個線程正確使用。 但是,如果許多線程需要以很高的速率生成偽隨機(jī)數(shù),則可能會減少每個線程對擁有自己的偽隨機(jī)數(shù)生成器的爭用。
返回:
大于或等于 0.0 且小于 1.0 的偽隨機(jī) double。
public static int addExact(int x, int y)
返回其參數(shù)的總和,如果結(jié)果溢出 int,則拋出異常。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 第一個值 |
y | 第二個值 |
返回:
結(jié)果
Throws:
Throw名稱 | Throw描述 |
---|---|
ArithmeticException | 如果結(jié)果溢出一個 int |
public static long addExact(long x, long y)
Returns the sum of its arguments, throwing an exception if the result overflows a long.
Parameters:
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 第一個值 |
y | 第二個值 |
返回:
結(jié)果
Throws:
Throw名稱 | Throw描述 |
---|---|
ArithmeticException | 如果結(jié)果溢出一個long |
public static int subtractExact(int x, int y)
返回參數(shù)的差異,如果結(jié)果溢出 int,則拋出異常。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 第一個值 |
y | 從第一個值中減去的第二個值 |
返回:
結(jié)果
Throws:
Throw名稱 | Throw描述 |
---|---|
ArithmeticException | 如果結(jié)果溢出一個 int |
public static long subtractExact(long x, long y)
返回參數(shù)的差異,如果結(jié)果溢出 long 則拋出異常。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 第一個值 |
y | 從第一個值中減去的第二個值 |
返回:
結(jié)果
Throws:
Throw名稱 | Throw描述 |
---|---|
ArithmeticException | 如果結(jié)果溢出一個long |
public static int multiplyExact(int x, int y)
返回參數(shù)的乘積,如果結(jié)果溢出 int,則拋出異常。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 第一個值 |
y | 第二個值 |
返回:
結(jié)果
Throws:
Throw名稱 | Throw描述 |
---|---|
ArithmeticException | 如果結(jié)果溢出一個 int |
public static long multiplyExact(long x, long y)
返回參數(shù)的乘積,如果結(jié)果溢出 long 則拋出異常。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 第一個值 |
y | 第二個值 |
返回:
結(jié)果
Throws:
Throw名稱 | Throw描述 |
---|---|
ArithmeticException | 如果結(jié)果溢出一個long |
public static int toIntExact(long value)
返回long參數(shù)的值; 如果值溢出 int,則拋出異常。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
value | long值 |
返回:
作為 int 的參數(shù)
Throws:
Throw名稱 | Throw描述 |
---|---|
ArithmeticException | 如果參數(shù)溢出一個 int |
public static int floorDiv(int x, int y)
返回小于或等于代數(shù)商的最大(最接近正無窮大)int 值。 有一種特殊情況,如果被除數(shù)為 Integer#MIN_VALUE,除數(shù)為 -1,則發(fā)生整數(shù)溢出,結(jié)果等于 Integer.MIN_VALUE。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 被除數(shù) |
y | 除數(shù) |
返回:
小于或等于代數(shù)商的最大(最接近正無窮大)int 值。
Throws:
Throw名稱 | Throw描述 |
---|---|
ArithmeticException | 如果除數(shù) y 為零 |
public static long floorDiv(long x, long y)
返回小于或等于代數(shù)商的最大(最接近正無窮大)long 值。 有一種特殊情況,如果被除數(shù)是 Long#MIN_VALUE 而除數(shù)是 -1,則發(fā)生整數(shù)溢出,結(jié)果等于 Long.MIN_VALUE。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 被除數(shù) |
y | 除數(shù) |
返回:
小于或等于代數(shù)商的最大(最接近正無窮大)long 值。
Throws:
Throw名稱 | Throw描述 |
---|---|
ArithmeticException | 如果除數(shù) y 為零 |
public static int floorMod(int x, int y)
返回 int 參數(shù)的底模。
底模為 x - (floorDiv(x, y) * y),與除數(shù) y 具有相同的符號,并且在 -abs(y) < r < +abs(y) 的范圍內(nèi)。
floorDiv 和 floorMod 之間的關(guān)系是這樣的:
有關(guān)示例以及與 % 運(yùn)算符的比較,請參見 Math#floorMod(int, int)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 被除數(shù) |
y | 除數(shù) |
返回:
底模 x - (floorDiv(x, y) * y)
Throws:
Throw名稱 | Throw描述 |
---|---|
ArithmeticException | 如果除數(shù) y 為零 |
public static long floorMod(long x, long y)
返回長參數(shù)的底模。
底模為 x - (floorDiv(x, y) * y),與除數(shù) y 具有相同的符號,并且在 -abs(y) < r < +abs(y) 的范圍內(nèi)。
floorDiv 和 floorMod 之間的關(guān)系是這樣的:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 被除數(shù) |
y | 除數(shù) |
返回:
底模 x - (floorDiv(x, y) * y)
Throws:
Throw名稱 | Throw描述 |
---|---|
ArithmeticException | 如果除數(shù) y 為零 |
public static int abs(int a)
返回 int 值的絕對值。 如果參數(shù)不是負(fù)數(shù),則返回參數(shù)。 如果參數(shù)是否定的,則返回參數(shù)的否定。
請注意,如果參數(shù)等于 Integer#MIN_VALUE 的值,即最負(fù)的可表示 int 值,則結(jié)果是相同的值,即為負(fù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 要確定其絕對值的參數(shù)。 |
返回:
參數(shù)的絕對值。
public static long abs(long a)
返回長值的絕對值。 如果參數(shù)不是負(fù)數(shù),則返回參數(shù)。 如果參數(shù)是否定的,則返回參數(shù)的否定。
請注意,如果參數(shù)等于 Long#MIN_VALUE 的值(可表示的最負(fù)的 long 值),則結(jié)果是相同的值,即為負(fù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 要確定其絕對值的參數(shù)。 |
返回:
參數(shù)的絕對值。
public static float abs(float a)
返回浮點(diǎn)值的絕對值。 如果參數(shù)不是負(fù)數(shù),則返回參數(shù)。 如果參數(shù)是否定的,則返回參數(shù)的否定。 特別情況:
換句話說,結(jié)果與表達(dá)式的值相同:
Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 要確定其絕對值的參數(shù) |
返回:
參數(shù)的絕對值。
public static double abs(double a)
返回雙精度值的絕對值。 如果參數(shù)不是負(fù)數(shù),則返回參數(shù)。 如果參數(shù)是否定的,則返回參數(shù)的否定。 特別情況:
換句話說,結(jié)果與表達(dá)式的值相同:
Double.longBitsToDouble((Double.doubleToLongBits(a)<<1)>>>1)
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 要確定其絕對值的參數(shù) |
返回:
參數(shù)的絕對值。
public static int max(int a, int b)
返回兩個 int 值中的較大者。 也就是說,結(jié)果是更接近 Integer#MAX_VALUE 值的參數(shù)。 如果參數(shù)具有相同的值,則結(jié)果是相同的值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個參數(shù) |
b | 另一個參數(shù) |
返回:
a 和 b 中的較大者。
public static long max(long a, long b)
返回兩個 long 值中的較大者。 也就是說,結(jié)果是參數(shù)更接近 Long#MAX_VALUE 的值。 如果參數(shù)具有相同的值,則結(jié)果是相同的值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個參數(shù) |
b | 另一個參數(shù) |
返回:
a 和 b 中的較大者。
public static float max(float a, float b)
返回兩個浮點(diǎn)值中的較大者。 也就是說,結(jié)果是更接近正無窮大的參數(shù)。 如果參數(shù)具有相同的值,則結(jié)果是相同的值。 如果任一值為 NaN,則結(jié)果為 NaN。 與數(shù)值比較運(yùn)算符不同,此方法認(rèn)為負(fù)零嚴(yán)格小于正零。 如果一個參數(shù)為正零而另一個為負(fù)零,則結(jié)果為正零。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個參數(shù) |
b | 另一個參數(shù) |
返回:
a 和 b 中的較大者。
public static double max(double a, double b)
返回兩個雙精度值中的較大者。 也就是說,結(jié)果是更接近正無窮大的參數(shù)。 如果參數(shù)具有相同的值,則結(jié)果是相同的值。 如果任一值為 NaN,則結(jié)果為 NaN。 與數(shù)值比較運(yùn)算符不同,此方法認(rèn)為負(fù)零嚴(yán)格小于正零。 如果一個參數(shù)為正零而另一個為負(fù)零,則結(jié)果為正零。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個參數(shù) |
b | 另一個參數(shù) |
返回:
a 和 b 中的較大者。
public static int min(int a, int b)
返回兩個 int 值中較小的一個。 也就是說,參數(shù)的結(jié)果更接近 Integer#MIN_VALUE 的值。 如果參數(shù)具有相同的值,則結(jié)果是相同的值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個參數(shù) |
b | 另一個參數(shù) |
返回:
a 和 b 中較小的一個。
public static long min(long a, long b)
返回兩個 long 值中較小的一個。 也就是說,結(jié)果是參數(shù)更接近 Long#MIN_VALUE 的值。 如果參數(shù)具有相同的值,則結(jié)果是相同的值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個參數(shù) |
b | 另一個參數(shù) |
返回:
a 和 b 中較小的一個。
public static float min(float a, float b)
返回兩個浮點(diǎn)值中較小的一個。 也就是說,結(jié)果是更接近負(fù)無窮大的值。 如果參數(shù)具有相同的值,則結(jié)果是相同的值。 如果任一值為 NaN,則結(jié)果為 NaN。 與數(shù)值比較運(yùn)算符不同,此方法認(rèn)為負(fù)零嚴(yán)格小于正零。 如果一個參數(shù)為正零而另一個為負(fù)零,則結(jié)果為負(fù)零。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個參數(shù) |
b | 另一個參數(shù) |
返回:
a 和 b 中較小的一個。
public static double min(double a, double b)
返回兩個雙精度值中較小的一個。 也就是說,結(jié)果是更接近負(fù)無窮大的值。 如果參數(shù)具有相同的值,則結(jié)果是相同的值。 如果任一值為 NaN,則結(jié)果為 NaN。 與數(shù)值比較運(yùn)算符不同,此方法認(rèn)為負(fù)零嚴(yán)格小于正零。 如果一個參數(shù)為正零而另一個為負(fù)零,則結(jié)果為負(fù)零。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
a | 一個參數(shù) |
b | 另一個參數(shù) |
返回:
a 和 b 中較小的一個。
public static double ulp(double d)
返回參數(shù)的 ulp 的大小。 double 值的最后一個單位 ulp 是該浮點(diǎn)值與幅度下一個更大的 double 值之間的正距離。 請注意,對于非 NaN x,ulp(-x) == ulp(x)。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
d | 要返回 ulp 的浮點(diǎn)值 |
返回:
參數(shù)的 ulp 大小
public static float ulp(float f)
返回參數(shù)的 ulp 的大小。 浮點(diǎn)值的最后一個單位 ulp 是該浮點(diǎn)值與幅度下一個更大的浮點(diǎn)值之間的正距離。 請注意,對于非 NaN x,ulp(-x) == ulp(x)。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
f | 要返回 ulp 的浮點(diǎn)值 |
返回:
參數(shù)的 ulp 大小
public static double signum(double d)
返回參數(shù)的符號函數(shù); 如果參數(shù)為零,則為零,如果參數(shù)大于零,則為 1.0,如果參數(shù)小于零,則為 -1.0。
特別案例:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
d | 要返回其符號的浮點(diǎn)值 |
返回:
參數(shù)的符號函數(shù)
public static float signum(float f)
返回參數(shù)的符號函數(shù); 如果參數(shù)為零,則為零,如果參數(shù)大于零,則為 1.0f,如果參數(shù)小于零,則為 -1.0f。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
f | 要返回其符號的浮點(diǎn)值 |
返回:
參數(shù)的符號函數(shù)
public static double sinh(double x)
返回 double 值的雙曲正弦值。 x 的雙曲正弦定義為 (ex - e-x)/2,其中 e 是 Math#E。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 要返回其雙曲正弦的數(shù)字。 |
返回:
x 的雙曲正弦。
public static double cosh(double x)
返回 double 值的雙曲余弦值。 x 的雙曲余弦定義為 (ex + e-x)/2,其中 e 是 Math#E。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 要返回其雙曲余弦的數(shù)字。 |
返回:
x 的雙曲余弦。
public static double tanh(double x)
返回 double 值的雙曲正切值。 x 的雙曲正切定義為 (ex - e-x)/(ex + e-x),換言之,Math#sinh/Math#cosh。 請注意,精確 tanh 的絕對值始終小于 1。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 要返回其雙曲正切的數(shù)字。 |
返回:
x 的雙曲正切。
public static double hypot(double x, double y)
返回 sqrt(x2 +y2) 沒有中間溢出或下溢。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 一個值 |
y | 一個值 |
返回:
sqrt(x2 +y2) 沒有中間溢出或下溢
public static double expm1(double x)
返回前 -1。 請注意,對于接近 0 的 x 值,expm1(x) + 1 的精確總和比 exp(x) 更接近 ex 的真實(shí)結(jié)果。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 在計(jì)算 ex -1 時將 e 提高到的指數(shù)。 |
返回:
值 ex - 1。
public static double log1p(double x)
返回參數(shù)和 1 之和的自然對數(shù)。請注意,對于較小的值 x,log1p(x) 的結(jié)果比 log( 的浮點(diǎn)計(jì)算更接近 ln(1 + x) 的真實(shí)結(jié)果 1.0+x)。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
x | 一個值 |
返回:
ln(x + 1) 的值,x + 1 的自然對數(shù)
public static double copySign(double magnitude, double sign)
返回帶有第二個浮點(diǎn)參數(shù)符號的第一個浮點(diǎn)參數(shù)。 對于此方法,NaN 符號參數(shù)始終被視為正數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
magnitude | 提供結(jié)果大小的參數(shù) |
sign | 提供結(jié)果符號的參數(shù) |
返回:
具有大小和符號符號的值。
public static float copySign(float magnitude, float sign)
返回帶有第二個浮點(diǎn)參數(shù)符號的第一個浮點(diǎn)參數(shù)。 對于此方法,NaN 符號參數(shù)始終被視為正數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
magnitude | 提供結(jié)果大小的參數(shù) |
sign | 提供結(jié)果符號的參數(shù) |
返回:
具有大小和符號符號的值。
public static int getExponent(float f)
返回浮點(diǎn)數(shù)表示中使用的無偏指數(shù)。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
f | 一個浮點(diǎn)值 |
返回:
參數(shù)的無偏指數(shù)
public static int getExponent(double d)
返回用于表示雙精度的無偏指數(shù)。 特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
d | 一個double值 |
返回:
參數(shù)的無偏指數(shù)
public static double nextAfter(double start, double direction)
返回第二個參數(shù)方向上與第一個參數(shù)相鄰的浮點(diǎn)數(shù)。 如果兩個參數(shù)比較相等,則返回第二個參數(shù)。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
start | 起始浮點(diǎn)值 |
direction | 指示應(yīng)該返回 start 的哪個鄰居或 start 的值 |
返回:
以方向相鄰的浮點(diǎn)數(shù)開始的方向。
public static float nextAfter(float start, double direction)
返回第二個參數(shù)方向上與第一個參數(shù)相鄰的浮點(diǎn)數(shù)。 如果兩個參數(shù)比較相等,則返回與第二個參數(shù)等效的值。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
start | 起始浮點(diǎn)值 |
direction | 指示應(yīng)該返回 start 的哪個鄰居或 start 的值 |
返回:
以方向相鄰的浮點(diǎn)數(shù)開始的方向。
public static double nextUp(double d)
返回正無窮方向上與 d 相鄰的浮點(diǎn)值。 該方法在語義上等價(jià)于 nextAfter(d, Double.POSITIVE_INFINITY); 但是,nextUp 實(shí)現(xiàn)可能比其等效的 nextAfter 調(diào)用運(yùn)行得更快。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
d | 起始浮點(diǎn)值 |
返回:
接近正無窮大的相鄰浮點(diǎn)值。
public static float nextUp(float f)
返回在正無窮大方向上與 f 相鄰的浮點(diǎn)值。 這個方法在語義上等價(jià)于 nextAfter(f, Float.POSITIVE_INFINITY); 但是,nextUp 實(shí)現(xiàn)可能比其等效的 nextAfter 調(diào)用運(yùn)行得更快。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
f | 起始浮點(diǎn)值 |
返回:
接近正無窮大的相鄰浮點(diǎn)值。
public static double nextDown(double d)
返回在負(fù)無窮方向上與 d 相鄰的浮點(diǎn)值。 這個方法在語義上等價(jià)于 nextAfter(d, Double.NEGATIVE_INFINITY); 但是,nextDown 實(shí)現(xiàn)可能比其等效的 nextAfter 調(diào)用運(yùn)行得更快。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
d | 起始浮點(diǎn)值 |
返回:
接近負(fù)無窮大的相鄰浮點(diǎn)值。
public static float nextDown(float f)
返回在負(fù)無窮方向上與 f 相鄰的浮點(diǎn)值。 該方法在語義上等價(jià)于 nextAfter(f, Float.NEGATIVE_INFINITY); 但是,nextDown 實(shí)現(xiàn)可能比其等效的 nextAfter 調(diào)用運(yùn)行得更快。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
f | 起始浮點(diǎn)值 |
返回:
接近負(fù)無窮大的相鄰浮點(diǎn)值。
public static double scalb(double d, int scaleFactor)
返回四舍五入的 d × 2scaleFactor,就像通過單個正確舍入的浮點(diǎn)乘以雙精度值集的成員一樣。 有關(guān)浮點(diǎn)值集的討論,請參閱 Java 語言規(guī)范。 如果結(jié)果的指數(shù)在 Double#MIN_EXPONENT 和 Double#MAX_EXPONENT 之間,則答案是精確計(jì)算的。 如果結(jié)果的指數(shù)大于 Double.MAX_EXPONENT,則返回?zé)o窮大。 請注意,如果結(jié)果不正常,則可能會丟失精度; 也就是說,當(dāng) scalb(x, n) 為次正規(guī)時, scalb(scalb(x, n), -n) 可能不等于 x。 當(dāng)結(jié)果為非 NaN 時,結(jié)果的符號與 d 相同。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
d | 要按 2 的冪進(jìn)行縮放的數(shù)字。 |
scaleFactor | 用于縮放 d 的 2 的冪 |
返回:
d × 2scaleFactor
public static float scalb(float f, int scaleFactor)
返回 f × 2scaleFactor 舍入,就好像通過單個正確舍入的浮點(diǎn)乘以浮點(diǎn)值集的成員一樣。 有關(guān)浮點(diǎn)值集的討論,請參閱 Java 語言規(guī)范。 如果結(jié)果的指數(shù)介于 Float#MIN_EXPONENT 和 Float#MAX_EXPONENT 之間,則答案是精確計(jì)算的。 如果結(jié)果的指數(shù)大于 Float.MAX_EXPONENT,則返回?zé)o窮大。 請注意,如果結(jié)果不正常,則可能會丟失精度; 也就是說,當(dāng) scalb(x, n) 為次正規(guī)時, scalb(scalb(x, n), -n) 可能不等于 x。 當(dāng)結(jié)果為非 NaN 時,結(jié)果的符號與 f 相同。
特別情況:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
f | 要按 2 的冪進(jìn)行縮放的數(shù)字。 |
scaleFactor | 用于縮放 f 的 2 的冪 |
返回:
f × 2scaleFactor
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: