1、異常處理方案:

異常丟擲 : throws 把異常丟擲到上一層,誰呼叫誰解決

異常捕獲 : try..catch

try{

有可能出現異常的程式碼;

}catch(FileNotFoundException e){

處理異常程式碼;

}catch(NullPointerException e){

處理異常程式碼;

}catch(Exception e){

所有異常都能接收;

}finally{

無論try中是否會出現異常,都會執行finally中的程式碼

//資源的關閉等程式碼

}

一個try的後面可以接 1~n個catch,try中如果一旦出現異常,try下面的程式碼不會執行,直接進入catch的判斷,catch從上到下一次判斷,滿足哪一個catch捕獲的型別,就執行對應的語句體,異常一旦捕獲,程式執行過程中出現的異常按照指定方案解決,不會影響後續程式碼的執行

2、自定義異常: 

自定義的異常型別

所有自定義的異常型別必須直接或者間接繼承自Exception

如果自定義異常為執行時期異常,需要直接或者間接的繼承自RuntimeException

throw 製造異常

3、常用類 --> 字串

(1)String 不可變長字元序列

(2)StringBuilder 可變長字元序列,執行緒不安全|不同步,效率較高

(3)StringBuffer  可變長字元序列,執行緒安全|同步,效率較低

(4)學些一個類:

①類的作用 類的繼承體系

②構造器

③方法(靜態方法|成員方法)

(5)String類表示字串。 Java程式中的所有字串文字(例如"abc" )都實現為此類的例項。

(6)String str = "abc";  建立一個字串物件"abc",字串常量 -->字串常量池中

(7)String str2 = new String("haha"); 2個物件  第1個new->在堆中   第2個"haha"-->字串常量池中

(8)String str2 = new String("abc"); 1個物件  第1個new->在堆中   "abc"->上面已經使用過,字串常量池中已經存在

(9)字串底層:

​jdk11-->使用private final byte[] value; 位元組陣列儲存字串中的字元資料,jdk8--> private final char[] value;字元陣列

4、可變長字元序列

(1)StringBuilder : 執行緒不安全,但不保證同步,相對效率較高,適合使用在單執行緒下大量操作字串,效率高

(2)StringBuffer : 執行緒安全的,相對效率較低

多執行緒下大量操作字串建議使用StringBuffer

(3)String : 少量修改字串,適合使用String,因為表示字串String物件簡單,功能強大的API

(4)效率: StringBuilder > StringBuffer > String

​    (5)擴容:append--> int newCapacity = (oldCapacity << 1) + 2; 每次擴容原容量的2倍+2

5、基本資料型別的包裝類:

基本           包裝

byte          Byte

short         Short

int           Integer

long          Long

char          Character

boolean       Boolean

float         Float

double        Double

(1)包裝類的優點:

①類可以提供很多成員,功能...

②集合中之能儲存引用資料型別,想要儲存基本資料型別資料的時候,可以先轉為對應的包裝型別,再儲存

③基本資料型別與對應包裝型別資料的預設值不同,當在具體業務下,比如區分賬戶餘額的0與null兩種狀態,可以使用包裝型別表示賬戶餘額

(2)基本資料型別的優點:

有利於節約記憶體

(3)自動拆裝箱:

①自動裝箱:  基本-->包裝

②自動拆箱:  包裝-->基本

6、Math 數學相關類

(1)靜態工廠--> 工具類

java.lang下不需要導包

(2)隨機整數:

[min,max)  (int)(Math.random()*(max-min)+min)

[0.0,1.0) * (max-min)

[0.0,max-min) + min

[min,max)

[min,max] (int)(Math.random()*(max-min+1)+min)

7、Date:

(1)Date類表示特定的時刻,精度為毫秒。

(2)日期格式轉換器   SimpleDateFormat

目標:①將指定格式的字串轉為日期物件  parse(str)

②將日期物件轉為指定格式的字串  format(date)