java.lang.Math
定義了一些與數學函數相關的方法
package com.wkcto.chapter04.math;
/**
* Math類
* @author 蛙課網
*
*/
public class Test01 {
public static void main(String[] args) {
//1) Math.random() 產生[0,1)之間 隨機小數
for(int i = 0 ; i<10 ; i++){
System.out.println( Math.random() );
}
//2)
System.out.println( Math.sqrt(100)); //平方根
System.out.println( Math.cbrt(100)); //立方根
System.out.println( Math.pow(3, 4)); //3的4次方
//3)
System.out.println( Math.ceil( 5.6 )); //返回大于等于指定數的最小整數 6.0
System.out.println( Math.floor( 5.6 )); //返回小于等于指定數的最大整數 5.0
//4)兩個常量
System.out.println( Math.PI);
System.out.println( Math.E);
}
}
java.text.DecimalFormat類
package com.wkcto.chapter04.math;
import java.text.DecimalFormat;
/**
* DecimalFormat類
* 對數字格式化
* # 任意數字
* 0 任意數字, 不足的位置會補0
* . 小數點
* , 千分位
* @author 蛙課網
*
*/
public class Test02 {
public static void main(String[] args) {
DecimalFormat decimalFormat = new DecimalFormat("###,###.0000");
System.out.println( decimalFormat.format(12345.67)); //12,345.6700
}
}
BigInteger/BigDecimal類
在進行科學計算/財務計算時, 對精度要求比較高,就使用這兩個類
package com.wkcto.chapter04.math;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
/**
* BigInteger/BigDecimal
* @author 蛙課網
*
*/
public class Test03 {
public static void main(String[] args) {
BigInteger i1 = new BigInteger("123456789123456789123456798132456798132456798132456798456");
BigInteger i2 = new BigInteger("123456789123456789123456798132456798132456798132456798");
//相加
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("1234567891234567891234567981324567981324567981324567984561.32465798");
BigDecimal d2 = new BigDecimal("12345678912345678912345679813245679813245679813245679841.32465798");
//相除, 小數相除時, 可能會出現除不斷的情況, 會產生異常
// BigDecimal d3 = d1.divide(d2); // java.lang.ArithmeticException:
//小數相除時, 可以指定小數的處理方式
BigDecimal d3 = d1.divide(d2, RoundingMode.CEILING);
System.out.println( d3 );
}
}
java.util.Random類
用于產生隨機數
package com.wkcto.chapter04.math;
import java.util.Random;
/**
* Random類
* 用于產生隨機數
* @author 蛙課網
*
*/
public class Test04 {
public static void main(String[] args) {
//創建Random對象
Random random = new Random();
//產生隨機小數, [0,1)
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( "-----------------");
//產生隨機整數,指定一個上限, 如[0,100)范圍的隨機整數
for( int i = 1; i<=10; i++){
System.out.println( random.nextInt(100));
}
System.out.println( "-----------------");
//隨機數,可以指定一個隨機數的種子, 種子相同的隨機數對象,產生隨機數序列也是一樣的
Random random1 = new Random(45679);
Random random2 = new Random(45679);
// 使用相同種子的隨機數對象 產生隨機小數, [0,1)
for (int i = 1; i <= 10; i++) {
System.out.println(random1.nextDouble());
}
System.out.println("=====================");
for (int i = 1; i <= 10; i++) {
System.out.println(random2.nextDouble());
}
}
}
總結
掌握String對象的創建(構造方法)
熟練掌握String類的基本操作(常用方法)
理解String對象的不可變性
記住StringBuilder/StringBuffer的特點
記住包裝類有哪些
理解為什么提供包裝類
掌握創建包裝類對象的方法(構造方法)
掌握包裝類的基本操作(常用方法)
掌握int/String/Integer之間的相互轉換
理解裝箱與拆箱, -128~127之間的整數裝箱采用享元模式
掌握Date/Calendar對象的創建, 掌握把Date對象以指定的字符串顯示, 把日期字符串轉換為Date對象
掌握產生隨機數的方法