1. java里的Math.max()怎麼用
java.lang.Math.max(參數1,參數2)是一個靜態的工具方法,主要用來比較兩個相同類型參數的大小,支持的類型有double,float,int,long四種類型。
舉例:public static double max(double a,doubleb),返回兩個double值中較大的一個。也就是說,結果為更接近正無窮大的參數。如果參數值相同,那麼結果也是同一個值。如果任一值為 NaN,那麼結果為 NaN。與數值比較運算不同,該方法認為負 0 嚴格小於正 0。如果一個參數為正 0,另一個參數為負 0,那麼結果為正 0。
importjava.lang.Math;
publicclassMaxDemo{
publicstaticvoidmain(String[]args){
doublex=24.12;
doubley=32.11;
//
System.out.println("Math.max("+x+","+y+")="+Math.max(x,y));
}
}
輸出結果為Math.max(24.12,32.11)=32.11
2. Java中的Math.round()和Math.ceil(),Math.floor()區別
ceil方法:
static double ceil(double a)
返回值為double類型,返回一個大於或等於參數a的最小整數。即它返回一個整數,這個整數是所有大於等於a的整數中最小的一個。
floor方法:
static double floor(double a)
返回值為double類型,返回一個小於或等於參數a的最大整數。即它返回一個整數,這個整數是所有小於等於a的整數中最大的一個。
round方法:
//該方法為重載方法
static long round(double a)
static int round(float a)
返回最接近參數a的整數,該方法等同於Math.floor(a + 0.5)並將結果轉換為long或int類型,即四捨五入取整。
public class MathTest {
public static void main(String[] args) {
double[] nums = {-0.6, -1.5, -1, 0.5, 1.2, 1.8};
for(double n : nums) {
test(n);
}
}
public static void test(double a) {
System.out.println("Math.ceil(" + a + ")=" + Math.ceil(a));
System.out.println("Math.floor(" + a + ")=" + Math.floor(a));
System.out.println("Math.round(" + a + ")=" + Math.round(a));
}
}
運行結果:
Math.ceil(-0.6)=-0.0
Math.floor(-0.6)=-1.0
Math.round(-0.6)=-1
Math.ceil(-1.5)=-1.0
Math.floor(-1.5)=-2.0
Math.round(-1.5)=-1
Math.ceil(-1.0)=-1.0
Math.floor(-1.0)=-1.0
Math.round(-1.0)=-1
Math.ceil(0.5)=1.0
Math.floor(0.5)=0.0
Math.round(0.5)=1
Math.ceil(1.2)=2.0
Math.floor(1.2)=1.0
Math.round(1.2)=1
Math.ceil(1.8)=2.0
Math.floor(1.8)=1.0
Math.round(1.8)=2
3. java中Math提供的是哪個取整的方法
Math類中提供的三個與取整有關的方法:
第一個: ceil
ceil的意思就是: 天花板的意思;該方法表示的是向上取整Math.ceil(11.3)的值是12 ; Math.ceil.(-11.6)的結果是-11;
第二個是: floor
首先他的英文含義就是地板的含義,該方法就表示的是向下取整,
Math.floor(11.6)的結果就是11 ;
Math.floor(-11.4);的結果就是-12
第三個是: round
他表示的是四捨五入,演算法為 Math.floor(x+0.5);也就是在原來的數字上加上0.5之後再進行向下取整;
Math.round(11.5);也就是 Math.floor(11.5+0.5)= Math.floor(12)=12;
同理: Math.round(-11.5)= Math.floor(-11.5+0.5)=Math.floor(-11.0)= -11;
4. 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)。
static double cbrt(double a)
返回 double 值的立方根。
static double ceil(double a)
返回最小的(最接近負無窮大)double 值,該值大於或等於參數,並且等於某個整數。
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 double hypot(double x, double y)
返回 sqrt(x2 +y2),沒有中間溢出或下溢。
static double IEEEremainder(double f1, double f2)
按照 IEEE 754 標準的規定,對兩個參數進行余數運算。
static double log(double a)
返回(底數是 e)double 值的自然對數。
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 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 signum(double d)
返回參數的符號函數;如果參數是零,則返回零;如果參數大於零,則返回 1.0;如果參數小於零,則返回 -1.0。
static float signum(float f)
返回參數的符號函數;如果參數是零,則返回零;如果參數大於零,則返回 1.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 大小。
從api上截的,更詳細的還是推薦查看api
5. 在Java中什麼意思 Math.abs(x)及同類的的公式
該方法返回x的絕對值,x的取值可以是各種類型參數。
Math.abs(x)=|x|;如果參數是非負數,則返回該參數。如果參數是負數,則返回該參數的相反數。
特殊情況是:
如果參數是正零或負零,那麼結果是正零。
如果參數是無窮大,那麼結果是正無窮大。
如果參數是 NaN,那麼結果就是 NaN。
NAN:
NaN,是Not a Number的縮寫。
NaN 用於處理計算中出現的錯誤情況,比如 0.0 除以 0.0 或者求負數的平方根。對於單精度浮點數,NaN 表示為指數為 emax + 1 = 128(指數域全為 1),且尾數域不等於零的浮點數。
EEE 標准沒有要求具體的尾數域,所以 NaN 實際上不是一個,而是一族。不同的實現可以自由選擇尾數域的值來表達 NaN。
比如 Java 中的常量 Float.NaN 的浮點數可能表達為 011111111100000000000000,其中尾數域的第一位為 1,其餘均為 0(不計隱藏的一位)。
但這取決系統的硬體架構。Java 中甚至允許程序員自己構造具有特定位模式的 NaN 值(通過 Float.intBitsToFloat() 方法)。
比如,程序員可以利用這種定製的 NaN 值中的特定位模式來表達某些診斷信息。
(5)math方法java擴展閱讀
java中math提供用於執行任意精度整數演算法 和任意精度小數演算法 的類。
同類公式:
java Math類常用的方法:
圓周率:Math.PI
自然對數:Math.E
絕對值:Math.abs
向上取整數:Math.ceil;
向下取整數:Math.floor;
6. Java中怎樣調用Math中的方法
Math類中的方法一般都為靜態方法,直接使用類名.方法名(實參列表)即可調用,如調用Math中的max函數的語句為Math.max(3, 5);其返回3,5中較大的值。
Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數等,Math類在包java.lang中,是默認導入的包,使用時不需要額外導入包。。
7. java Math類中的pow方法
Math.pow(64,1/3)等價於 Math.pow(64,0)所以結果是1.0
在程序中 1/3並不代表三分之一,因為這里是兩個int類型在做除法,結果也是int類型,會自動取整(向下取0了), 所以是0,就可以說明為什麼結果是1。執行代碼如下
System.out.println(1/3)
運行結果
這里1.0/3.0近似等於0.3333333333所以,最後結果為上圖所示。
拓展知識
1.0做除數拋運行時異常;兩整數商會做取整運算,Float或Double與一個整數做除法運算,則商位Float或者Double類型
2.0可以做除數,得到的是一個分正負的無窮大;當兩個數的絕對值均為0.0時候,商等於NaN。當0.0/x,x不等0.0時候
8. Java中的Math函數
new Random()就是一個隨即數對象,然後nextInt為獲取當前隨機數對象的隨即產生的一個整數,%100就是用這個整數對100求模,獲得其餘(該余在-99 至 99之間),Math.abs為取絕對值,再加1,則獲得[1, 100]之間的整數,包括1,100
9. Java中Math方法舉例
Math 類包含基本的數字操作,如指數、對數、平方根和三角函數。
與 StrictMath 類的某些數值方法不同,並不是 Math 類的所有等效函數的實現都定義為返回逐位相同的結果。這一寬限允許在不要求嚴格可重復性的地方實現更好的性能。
默認情況下,很多 Math 方法僅調用 StrictMath 中的等效方法來完成它們的實現。代碼生成器鼓勵使用特定於平台的本機庫或者在可用的地方使用微處理器指令,來提供對 Math 方法的更高性能的實現。這種更高性能的實現仍然必須遵守 Math 的規范。
實現規范的質量涉及到兩種屬性,即返回結果的准確性和方法的單調性。浮點 Math 方法的准確性根據 ulp(units in the last place,最後一位的進退位)來衡量。對於一個給定的浮點格式,特定實數值的 ulp 是將該數值括起來的兩個浮點值的差。討論方法的准確性是從整體上考慮的,而不是針對具體的參數,引用的 ulp 數是為了考慮參數的最差情況的誤差。如果一個方法的誤差總是小於 0.5 ulp,則該方法始終返回最接近准確結果的浮點數;這種方法就是正確舍入。一種正確舍入的方法通常能得到最佳的浮點近似值,然而,對於很多浮點方法來說,進行正確的舍入有些不切實際。相反,對於 Math 類來說,有些方法允許誤差在 1 或 2 ulp 的范圍內。在非正式情況下,對於 1 ulp 的誤差范圍,當准確結果是可表示的數值時,應該按照計算結果返回准確結果;否則,返回將准確結果括起來的兩個浮點值。對於值很大的准確結果,括弧的一端可以是無窮大。除了個別參數的准確性之外,維護不同參數的方法之間的正確關系也很重要。因此,大多數誤差大於 0.5 ulp 的方法都要求是半單調的:只要數學函數是非遞減的,浮點近似值就是非遞減的;同樣地,只要數學函數是非遞增的,浮點近似值就是非遞增的。不是所有準確性為 1 ulp 的近似值都能自動滿足單調性要求。
方法摘要
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)。
static double cbrt(double a)
返回 double 值的立方根。
static double ceil(double a)
返回最小的(最接近負無窮大)double 值,該值大於或等於參數,並且等於某個整數。
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 double hypot(double x, double y)
返回 sqrt(x2 +y2),沒有中間溢出或下溢。
static double IEEEremainder(double f1, double f2)
按照 IEEE 754 標準的規定,對兩個參數進行余數運算。
static double log(double a)
返回(底數是 e)double 值的自然對數。
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 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 signum(double d)
返回參數的符號函數;如果參數是零,則返回零;如果參數大於零,則返回 1.0;如果參數小於零,則返回 -1.0。
static float signum(float f)
返回參數的符號函數;如果參數是零,則返回零;如果參數大於零,則返回 1.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 大小。
10. java math類
Math類中的方法都是static的 也就是靜態方法,調用靜態方法可以直接使用類名.方法名來調用,不需要先創建類的一個對象,沒看到Math這個類是因為Math這個類在java.lang軟體包中,這個包會自動引入,所有這個軟體包中的類不需要再import就可以直接使用。