『壹』 java中Math類中的random方法和Random類有什麼區別
random方法是java.lang.Math的方法,作用是返回帶正號的 double 值,該值大於等於 0.0 且小於 1.0。而Random類是一個類(java.util.Random),裡面含有很多方法。
Math.random()返回的只是從0到1之間的小數,如果要50到100,就先放大50倍,即0到50之間,這里還是小數,如果要整數,就強制轉換int,然後再加上50即為50~100。最終代碼:(int)(Math.random()*50) + 50。
Random類產生的隨機數,在其最大值范圍內,按照概率均勻分布的。也就是說,兩個種子數相同的Random對象,第一次生成的隨機數字完全相同,第二次生成的隨機數字也完全相同。
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
『叄』 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;
『肆』 Math類中的方法
Math.random()*(b-a+1)是產生一個0-(b-a+1)的隨機數 最後在加上一個a 結果就是a到b之間的數了!
例如 a=4 b=10 Math.random()*(b-a+1) 這個產生的隨機數就是0-6之間的隨機數 在加上一個4 那麼 int i 的值就是4-9的一個數了!
『伍』 Java中怎樣調用Math中的方法
Math類中的方法一般都為靜態方法,直接使用類名.方法名(實參列表)即可調用,如調用Math中的max函數的語句為Math.max(3, 5);其返回3,5中較大的值。
Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數等,Math類在包java.lang中,是默認導入的包,使用時不需要額外導入包。。
『陸』 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 大小。
『柒』 Math類有哪些常用域和方法
呵呵,這個問題太抽象了,你難道沒有api嗎,可以去看文檔,你要學習java文檔是你一生離不開的東西,要學會看文檔學習
『捌』 調用MATH類的方法
常用方法:
abs() //返回其值是此BigInteger的絕對值的BigInteger。
add(BigIntegerval) //返回其值為(this+val)的BigInteger。
subtract(BigIntegerval) //返回其值為(this-val)的BigInteger。
multiply(BigIntegerval) //返回其值為(this*val)的BigInteger。
divide(BigIntegerval) //返回其值為(this/val)的BigInteger。
remainder(BigIntegerval) //返回其值為(this%val)的BigInteger。
compareTo(BigIntegerval) //將此BigInteger與指定的BigInteger進行比較。返回值1、0、-1分別表示大於、等於、小於
pow(intexponent) //返回當前大數的exponent次冪。
toString() //返回此BigInteger的十進制字元串表示形式。
toString(intradix) //返回此BigInteger的給定基數(radix進制)的字元串表示形式。
『玖』 Math類中random方法與Random類都可以生成隨機數,他們有什麼區別
Random類的隨機方法是設定隨機種子的,(如:new Random().nextInt(10)),這里的10就是隨機種子,根據隨機數的原理,相同隨機種子在相同的隨機次數中產生的隨機數是一樣的,(
public class RandomNum{
public static void main(String[] args){
Random r1 = new Random(100);//第一個Random對象r1,隨機種子100
Random r2 = new Random(100);//第二個Random對象r2,隨機種子100
System.out.println("r1產生的值:"+r1.nextInt());
System.out.println("r2產生的值:"+r2.nextInt());
System.out.println("Math.random產生的值:"+(int)(Math.random()*100));
}
}
),如果看Math的random方法的實現代碼的話,就會發現,該方法就是調用的Random類的nextDouble()方法。
因為Math類的random方法使用較方便,不需要導包、創建對象,所以許多人習慣於使用該方法。