Java常用類庫--Math、Random、NumberFormat、DecimalFormat、BigInteger、BigDecimal
1、Math類
表示數學操作,例如:平方根、四舍五入等等。
public class MathDemo01{
public static void main(String args[]){
// Math類中的方法都是靜態方法,直接使用“類.方法名稱()”的形式調用即可
System.out.println("求平方根:" + Math.sqrt(9.0)) ;
System.out.println("求兩數的最大值:" + Math.max(10,30)) ;
System.out.println("求兩數的最小值:" + Math.min(10,30)) ;
System.out.println("2的3次方:" + Math.pow(2,3)) ;
System.out.println("四舍五入:" + Math.round(33.6)) ;
}
};

2、Random類
Random類的主要功能是產生隨機數,可以產生一個指定範圍的隨機數。Random類是在java.util包中的類。
生成10個隨機數字,且數字不大於100
import java.util.Random ;
public class RandomDemo01{
public static void main(String args[]){
Random r = new Random() ; // 實例化Random對象
for(int i=0;i<10;i++){
System.out.print(r.nextInt(100) + "\t") ;
}
}
};
3、NumberFormat類
從類名稱上可以看見,此類的主要功能是完成數字的格式化顯示。例如:“12345678”。


import java.text.* ;
public class NumberFormatDemo01{
public static void main(String args[]){
NumberFormat nf = null ; // 聲明一個NumberFormat對象
nf = NumberFormat.getInstance() ; // 得到默認的數字格式化顯示
System.out.println("格式化之後的數字:" + nf.format(10000000)) ;
System.out.println("格式化之後的數字:" + nf.format(1000.345)) ;
}
};
4、DecimalFormat類


import java.text.* ;
class FormatDemo{
public void format1(String pattern,double value){ // 此方法專門用於完成數字的格式化顯示
DecimalFormat df = null ; // 聲明一個DecimalFormat類的對象
df = new DecimalFormat(pattern) ; // 實例化對象,傳入模板
String str = df.format(value) ; // 格式化數字
System.out.println("使用" + pattern
+ "格式化數字" + value + ":" + str) ;
}
};
public class NumberFormatDemo02{
public static void main(String args[]){
FormatDemo demo = new FormatDemo() ; // 格式化對象的類
demo.format1("###,###.###",111222.34567) ;
demo.format1("000,000.000",11222.34567) ;
demo.format1("###,###.###¥",111222.34567) ;
demo.format1("000,000.000¥",11222.34567) ;
demo.format1("##.###%",0.345678) ;
demo.format1("00.###%",0.0345678) ;
demo.format1("###.###\u2030",0.345678) ;
}
};
5、BigInteger類


import java.math.BigInteger ;
public class BigIntegerDemo01{
public static void main(String args[]){
BigInteger bi1 = new BigInteger("123456789") ; // 聲明BigInteger對象
BigInteger bi2 = new BigInteger("987654321") ; // 聲明BigInteger對象
System.out.println("加法操作:" + bi2.add(bi1)) ; // 加法操作
System.out.println("減法操作:" + bi2.subtract(bi1)) ; // 減法操作
System.out.println("乘法操作:" + bi2.multiply(bi1)) ; // 乘法操作
System.out.println("除法操作:" + bi2.divide(bi1)) ; // 除法操作
System.out.println("最大數:" + bi2.max(bi1)) ; // 求出最大數
System.out.println("最小數:" + bi2.min(bi1)) ; // 求出最小數
BigInteger result[] = bi2.divideAndRemainder(bi1) ; // 求出餘數的除法操作
System.out.println("商是:" + result[0] +
";餘數是:" + result[1]) ;
}
};
6、BigDecimal類


import java.math.* ;
class MyMath{
public static double add(double d1,double d2){ // 進行加法計算
BigDecimal b1 = new BigDecimal(d1) ;
BigDecimal b2 = new BigDecimal(d2) ;
return b1.add(b2).doubleValue() ;
}
public static double sub(double d1,double d2){ // 進行減法計算
BigDecimal b1 = new BigDecimal(d1) ;
BigDecimal b2 = new BigDecimal(d2) ;
return b1.subtract(b2).doubleValue() ;
}
public static double mul(double d1,double d2){ // 進行乘法計算
BigDecimal b1 = new BigDecimal(d1) ;
BigDecimal b2 = new BigDecimal(d2) ;
return b1.multiply(b2).doubleValue() ;
}
public static double div(double d1,double d2,int len){ // 進行除法計算
BigDecimal b1 = new BigDecimal(d1) ;
BigDecimal b2 = new BigDecimal(d2) ;
return b1.divide(b2,len,BigDecimal.ROUND_HALF_UP).doubleValue() ;
}
public static double round(double d,int len){ // 進行四舍五入
BigDecimal b1 = new BigDecimal(d) ;
BigDecimal b2 = new BigDecimal(1) ;
return b1.divide(b2,len,BigDecimal.ROUND_HALF_UP).doubleValue() ;
}
};
public class BigDecimalDemo01{
public static void main(String args[]){
System.out.println("加法運算:" + MyMath.round(MyMath.add(10.345,3.333),1)) ;
System.out.println("減法運算:" + MyMath.round(MyMath.sub(10.345,3.333),3)) ;
System.out.println("乘法運算:" + MyMath.round(MyMath.mul(10.345,3.333),2)) ;
System.out.println("除法運算:" + MyMath.div(10.345,3.333,3)) ;
}
};
最後更新:2017-04-03 14:53:50