Java—Math類和隨機數類


一、Math類(主要封裝算數運算的靜態方法

定義:

 

Math是沒有構造方法的.

java語言中提供了一個執行數學基本運算的Math類,Math類包括常用的數學運算和一些數學函數。還提供了一些常用的常量,PI, E等。

Math類中提供了許多數學函數算法,這些函數都被定義為static形式

調用起來也方便:

Math.數學方法

Math.PI

Math.E

常用的數學運算方法

1.三角函數

正弦:public static double sin(double a);

余弦:public static double cos(double a);

正切:public static double tan(double a);

反正弦:public static double asin(double a);

反余弦:public static double acos(double a);

反正切:public static double atan(double a);

角度轉弧度:public static double toRadians(double angdeg);

弧度轉角度:public static double toDegrees(double angdeg);

簡單示例幾個:

Math.max():較大數

Math.min():較小數

Math.ceil():不小於最小的數

Math.floor():不大於最大的數

Math.round():四舍五入

 

二、隨機數

Math.random()

默認生成0.0~1.0的double型隨機數。

Math類的random()方法也可以隨機生成隨機字符
(char)('a'+Math.random()*('z'-'a'+1));      (a~z)

(char)(char1+Math.random()*(char2-char1+1));  (A~Z)

Random類(主要用於產生隨機數)

除了Math類的random()方法可以獲取隨機數之外,Random類也可以獲取隨機數。

Random r=new Random();

Random r=new Random(seedValue);
 r:Random對象。

seedValue:隨機數生成器的種子。

常用的方法:

public int nextInt():返回一個隨機整數

public int nextInt(int n):返回大於0小於n的隨機整數。

public long nextLong():返回一個隨機長整型

public boolean nextBoolean():返回一個隨機布爾型值

public float nextFloat():返回一個隨機浮點型值

public double nextDouble():返回一個隨機雙精度型值

public double nextGaussian():返回一個概率密度為高斯分布的雙精度值

練習:

 1 public static void main(String[] args) {  2         //1、試隨機產生一個4位數  3         //返回指定位數的隨機數的公式:(int)(Math.random) * (最大數—最小數) +最小數
 4         int num = (int)(Math.random() * (9999-1000) + 1000);  5         System.out.println(num);//輸出隨機四位整數  6         //2、返回不大於546.2134的最大整數
 7         int num1 = (int) Math.floor(546.2134);  8         System.out.println(num1);//546  9         //3、返回大於123.1123的最小整數
10         int num2 = (int)Math.ceil(123.1123); 11         System.out.println(num2);//124 12         //4、從“a,b,c,d…z,A,B,C,….,Z”隨機取4個字母在控制台上顯示
13         String s = "QWERTYUIOPASDFGHJKLZXCVBNMzxcvbnmasdfghjklqwertyuiop"; 14         char[] c = s.toCharArray(); 15         Random random = new Random(); 16         for(int i=1 ;i<5;i++) { 17             System.out.print(c[random.nextInt(c.length)]);//隨機生成四位字母
18  } 19     }

三、大數值

大數值有兩種類型的BigInteger和BigDecimal

BigInteger:int,long無法表示的大整數

BigDecimal:float,double無法表示的大浮點數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM