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 );
	}

}

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