java基础回顾之数学相关类

数学相关类:
3.1 Math
定义与数学函数相关的类
Math.random() 产生[0,1)之间的随机小数
pow(a,b)
sqrt()
cbrt()
3.2 DecimalFormat
对数字格式化
# 0 , .
3.3 Random
产生随机数
3.4 BigInteger/BigDecimal
当精度要求非常高时,使用两个类
科学计算/财务计算

package com.bjpowernode.demo03;
/**
 * Math类
 * 	主要定义了与数学函数相关的类
 * @author Administrator
 *
 */
public class Test01 {

	public static void main(String[] args) {
		
		System.out.println( Math.cbrt(100));		//立方根
		System.out.println( Math.sqrt(100)); 		//平方根
		System.out.println( Math.pow(3, 4));  		//3的4次方
		
		for(int i = 0 ; i<10 ; i++){
			System.out.println( Math.random() );
		}
		
	}

}

package com.bjpowernode.demo03;

import java.text.DecimalFormat;

/**
 * 数字格式化
 * DecimalFormat
 * 	#	任意数字
 * 	0	任意数字, 不足的位数补0
 * 	,	千分位
 * 	.	小数点
 * @author Administrator
 *
 */
public class Test02 {

	public static void main(String[] args) {
		DecimalFormat decimalFormat = new DecimalFormat("###,###.0000");
		
		System.out.println( decimalFormat.format(12345612.45)); //12,345,612.4500

	}

}

package com.bjpowernode.demo03;

import java.util.Random;

/**
 * Random
 * 	随机数类
 * @author Administrator
 *
 */
public class Test03 {

	public static void main(String[] args) {
		Random random = new Random();
		
		//产生小数
		for(int i= 1; i <= 10 ; i++){
			System.out.println( random.nextDouble());
		}
		System.out.println("---------------");
		
		//产生随机整数
		for(int i= 1; i <= 10 ; i++){
			System.out.println( random.nextInt());
		}
		System.out.println("---------------");
		
		//产生指定范围的随机整数
		for(int i= 1; i <= 10 ; i++){
			System.out.println( random.nextInt(100)); 	//[0,100)
		}

		
	}

}

package com.bjpowernode.demo03;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;

/**
 * BigInteger/BigDecimal
 * 大的整数/大的小数
 * 	当精度要求比较高时使用, 科学计算 , 财务运算
 * @author Administrator
 *
 */
public class Test04 {

	public static void main(String[] args) {
		BigInteger i1 = new BigInteger("1234569789123564789034167489743413511313131313131");
		BigInteger i2 = new BigInteger("89765435131313189123564789034167489743413511313131313131");

		BigInteger i3 = i1.add(i2); 		//相加
		System.out.println( i3 );
		i3 = i1.subtract(i2);
		System.out.println( i3);
		i3 = i1.multiply(i2);
		System.out.println( i3 );
		
		//
		BigDecimal d1 = new BigDecimal("123465478979871321324564654897321237468978932132.123154");
		BigDecimal d2 = new BigDecimal("12348978945112123132154548787979876515871321324564654897321237468978932132.123154");
		//注意,小数相除时,可能出现除数除不断的情况, 就会出现java.lang.ArithmeticException异常
		//小数相除时,一般指定最后小数的处理方式
		BigDecimal d3 = d2.divide(d1, RoundingMode.CEILING);
		System.out.println( d3 );
	}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章