您的位置:首页 > 编程语言 > Java开发

Java常用类库--Math、Random、NumberFormat、DecimalFormat、BigInteger、BigDecimal

2013-10-22 09:34 543 查看

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)) ;
	}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐