math類java
類所在的包數組
java.lang 不須要導包dom
類的關係ide
繼承objectspa
類對象的建立code
全部屬性和方法都是靜態 不須要建立對象orm
類的屬性和方法對象
屬性: PI---圓周率 E---E數繼承
方法:ip
int=Math.abs(int) 絕對值 數字型的基本數據類型都支持long int float double
int=Math.max(int a,int b) 返回最大值 若是傳入數據類型不一致 返回值自動提高到範圍較大的數據類型
int=Math.min() 返回最小值 數字型的基本數據類型都支持long int float double
double=Math.ceil() ceil()向上取整,即大於這個數的最小的那個整數;
double=Math.floor() 向下取整,即小於這個數的最大的那個整數;
double=Math.rint() 返回最接近該值的那個整數。注意若是存在兩個這樣的整數,則返回其中的偶數
int=Math.round() 返回四捨五入的int類型 (0.5的數取數軸右邊的整數,這樣比較好理解) round(-1.5) //-1
double=Math.pow(double a ,double b) a的b次方返回double類型
double=Math.sqrt(double a ) 開根號
double=Math.random() 取[0,1)的隨機數
這個方法不能知足一些變態的需求 好比取5-10之間的隨機數 double=Math.random()*5+5 5+0.999999999*5=10.9999999995 會有精度的損失
Random類
類所在的包
java.util 須要導包 import java.util.Random;
類的關係
繼承object
類對象的建立
Random r=new Random();
Random r=new Random(long seed); -->種子數同樣生成的隨機數是同樣的
類的屬性和方法
int=r.nextInt(); 隨機生成一個int類型的數;默認範圍是int取值範圍,有寫範圍的方法重載int=r.nextInt(10); 0-9的整數
long=r.nextLong();
float=r.nextFloat(); 隨機生成一個0-1的小數
double=r.nextDouble(); 隨機生成一個0-1的小數
boolean=r.nextBoolean(); 隨機生成一個boolean值
void=r.nextBytes[byte[] bytes] 隨機生成一個byte放入到byte數組中
BigInteger類
用於超大數字的計算
類所在的包
java.math 須要導包 import java.util.BigInteger;
類的關係
繼承Number
類對象的建立 構造方法都是帶參數的一般用Sring類型參數
BigInteger big1=new BigInteger("123232132131232132132312321323");
BigInteger big2=new BigInteger("123232132131232132132312321323");
類的方法
BigInteger=big1.abs() 返回大整數的絕對值
BigInteger=big1.add(big2) 返回兩個大整數的和
BigInteger=big1.divide(big2) 返回兩個大整數的商
BigInteger=big1.subtract(big2) 返回兩個大整數的差
BigInteger=big1.and(BigInteger val) 返回兩個大整數的按位與的結果
BigInteger=big1.andNot(BigInteger val) 返回兩個大整數與非的結果
BigInteger=big1.max(BigInteger val) 返回兩個大整數的最大者
BigInteger=big1.min(BigInteger val) 返回兩個大整數的最小者
BigInteger=big1.mod(BigInteger val) 用當前大整數對val求模
BigInteger=big1.multiply(BigInteger val) 返回兩個大整數的積
BigInteger=big1.negate() 返回當前大整數的相反數
BigInteger=big1.pow(int) 返回當前大整數的次方
BigInteger=big1.remainder(big2) 返回當前大整數除以val的餘數
BigInteger類
比double更精確的數
類所在的包
java.math 須要導包 import java.util.BigDecimal;
類的關係
繼承Number
類對象的建立 構造方法都是帶參數的一般用Sring類型參數
BigInteger big1=new BigInteger("12323213213.1232132132312321323");
BigInteger big2=new BigInteger("1232321321.31232132132312321323");
類的方法
BigInteger=big1.add(big2) 返回兩個大整數的和
BigInteger=big1.divide(big2) 返回兩個大整數的商
BigInteger=big1.subtract(big2) 返回兩個大整數的差
BigInteger=big1.multiply(BigInteger val) 返回兩個大整數的積
big1=big1.setScale(3,3); --->處理小數點位數用setScale 第一個參數保留幾位 第二個參數保留的方式 向上取整向下取整 四捨五入等
DecimalFormat類
專業的格式化類
類所在的包
java.text
類的關係
繼承NumberFormat
類對象的建立
0若是給定數字的位數不夠用0填補、整數多了不處理、小數多了四捨五入
#若是給定數字的位數不夠不處理、整數多了不處理、小數多了四捨五入
DecimalFormat decimal =new DecimalFormat("0"); //顯示全部整數
DecimalFormat decimal =new DecimalFormat("#"); //顯示全部整數
DecimalFormat decimal =new DecimalFormat("000.000"); 12.34 --> 012.340
DecimalFormat decimal =new DecimalFormat("000.###"); 1234.3333 ---> 1234.333
DecimalFormat decimal =new DecimalFormat("000.###%"); //百分比展現 0.3432 ----> 034.32%
DecimalFormat decimal =new DecimalFormat(",###"); //以逗號隔開 123456789 ---> 123,456,789
類的方法
String value =decimal.format(1222.3335);