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