一、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無法表示的大浮點數