可變字串
○StringBuffer:可變長字串,JDK1.0提供,運行效率慢,執行緒安全,
○StringBuilder:可變長字串,JDK5.0提供,運行效率快,執行緒不安全,
BigDecimal
○思考:以下程式輸出結果是多少?
public class TestBigDecimal{
public static void main(String[] args){
double d1=1.0;
double d2=0.9;
SyStem.out.println(d1-d2);
}
}
輸出結果:0.999999999999999998
很多實際應用中需要精確運算,而double是近似值存盤,不在符合要求需要借助BigDecimal,
○位置:java.math包中
○作用:精確計算浮點數,
○創建方式:BigDecimal bd=new BigDecimal(“1.0”);
○方法:
○BigDecimal add(BigDecimal bd) 加
○BigDecimal subtract(BigDecimal bd)減
○BigDecimal multiply(BigDecimal bd)乘
○BigDecimal divide(BigDecimal bd)除
○利用BigDecimal可以使用數值計算:
public class TestBigDecimal{
public static void main(String[] args){
BigDecimal bd1=new BigDecimal("1.0");
BigDecimal bd2=new BigDecimal("0.9");
BigDecimal result1=bd1.add(bd2);
System.out.println("bd1+bd2="+result1);
BigDecimal result2=bd1.subtract(bd2);
System.out.println("bd1-bd2="+result2);
BigDecimal result3=bd1.subtract(bd2);
System.out.println("bd1*bd2="+result3);
//輸出結果:
bd1+bd2=1.9;
bd1-bd2=0.1;
bd1*bd2=0.90;
//執行除法運算時,拋出錯誤
//BigDecimal result4=bd1.divide(bd2);
//System.out.println("bd1/bd2="+result4);
}
}
注意:進行除法運算時,如果不能準確的計算出結果時需要指定保留的位數和取舍方式,
○除法:divide(BigDecimal bd,int scal,RoundingModel mode)
○引數scal:指定精確到小數點后幾位,
○引數mode:
○指定小數部分的取舍模式,通常采用四舍五入的模式,
○取值為BigDecimal,ROUND_HALF_UP.
Date
○Date表示特定的瞬間,精確到毫秒,Date類中的大部分方法都已經被Calendar類中的方法所取代,
○時間單位
? ○1秒=1000毫秒
? ○1毫秒=1000微妙
? ○1微妙=1000納秒
Calendar
○Calendar提供了獲取或設定各種日歷欄位的方法,
○構造方法
○protected Calendar() :由于修飾符是protected,所以無法直接創建該物件,
○其他方法
//方法名 說明
static Calendar getInstance() 使用默認時區和區域獲取日歷
void set(int year,int month,int date,int
hourofday,int minute,int second) 設定日歷的年、月、日、時、分、秒
int get(int field) 回傳給定日歷欄位的值,欄位比如年、月、日等
void setTime(Date date) 用給定的Date設定此日歷的時間,Date-Calendar
Date getTime() 回傳一個Date表示此日歷的時間,Calendar-Date
void add(int field,int amount) 按照日歷的規則,給指定欄位添加或減少時間量
long getTimelnMillies() 毫秒為單位回傳該日歷的時間值
SimpleDateFormat
○SimpleDateFormat是一個以與語言環境有關的方式來格式化和決議日期的具體類,
○進行格式化(日期 -> 文本)、決議(文本 -> 日期)
○常用的時間模式字母
//字母 日期或時間 實體
y 年 2019
M 年中月份 08
d 月中天數 10
H 1天中小時數(0-23) 22
m 分鐘 16
s 秒 59
S 毫秒 367
System類
○System系統類,主要用于獲取系統的屬性資料和其他操作,構造方法私有的,
//方法名 說明
static void arraycopy(...) 復制陣列
static long currentTimeMillis(); 獲取當前系統時間,回傳的是毫秒值
static void gc(); 建議JVM趕快啟動垃圾回收器回收垃圾
static void exit(int status); 退出jvm,如果引數是0表示正常退出jvm,非0表示例外退出jvm,
總結
○內部類:
○在一個類的內部再定義一個完整的類,
○成員內部類、靜態內部類、區域內部類、匿名內部類,
○Object類:
○所有類的直接或間接父親,可存盤任何物件,
○包裝類:
○基本資料型別所對應的參考資料型別,可以使Object統一所有資料,
○String類:
○字串是常量,創建之后不能改變,字面值保存在字串池中,可以共享,
○BigDecimal
○可精確計算浮點數,
○Date
○特定時間
○Calendar
○日歷
○SimpleDateFormat
○格式化時間
○System
○系統類
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/277162.html
標籤:java
上一篇:logback-中文手冊
下一篇:Java人民幣小寫轉大寫字串
