一、java異常處理
1、java所有類均繼承自Object類,java。lang包中的異常類Throwable類亦如此。其派生出兩個子類:Error類和Exception類。其中Error類主要處理執行環境的異常,而Exception類則是可以被丟擲的異常型別,接下來主要討論這個類。Exception分為RunTimeExcepiton和其他Exception。RunTimeExcepiton稱為執行時異常,例如空指標異常、算術異常等。
2、java透過try-catch或try-catch-finally處理異常。並且可以同時捕獲多種不同型別的異常。捕獲異常時,可以透過printStackTrace()列印異常的錯誤資訊。finally表示在處理異常後要做的動作,例如關閉某某連線等。
try{ //一些會丟擲異常的方法}catch(Exception1 e){ //子類異常在前面處理}catch(Exception2 e){ //子類異常在前面處理}catch(Exception e){ //e。printStackTrace(); //Exception為父類異常,應在最後處理}finally{ //最終要執行的程式碼}
二、java的字串
3、String類是引用型別,java每一個字串都是一個物件。String類物件建立後不能被修改,所謂的修改其實是建立了新的物件,所指向的記憶體空間不同。
String s1 = “字串測試”;s1 = “java” + s1;
上面的程式碼先是聲明瞭一個字串物件s1,s1存放了到字串物件的引用,然後第二行程式碼改變了s1,其實質是建立了新的字串物件,變了s1指向了新建立的字串物件。
4、“==”比較的是兩個物件的記憶體地址,如果只是想比較兩個字串物件的內容是否相同,可以使用equals()方法。
5、但如果需要一個可以改變的字串物件,可以用StringBuilder類建立。該類提供了多個方法用於操作字串。例如append()用於追加內容到當前物件的末尾,insert()用於將內容插入到當前物件的指定位置,length()用於獲取字串的長度,toString()用於將當前物件轉換為String物件,等等。
三、java的常用類
6、基本資料型別不具備物件的特性,無法呼叫方法。為了讓基本資料型別也具備物件的特性,java為每個基本資料型別都提供了一個包裝類,這樣就能像操作物件那樣來操作基本資料型別。每個包裝類都提供了本類和其他基本資料型別進行轉換的方法,例如Integer類,提供了floatValue()、intValue()、toString()等方法,用於將Integer型別轉為對應的基本資料型別。
基本資料型別
對應的包裝類
byte
Byte
short
Short
int
Integer
long
Long
float
Float
double
Double
char
Character
boolean
Boolean
7、java。util。Calendar類是一個抽象類,可以透過呼叫getInstance()靜態方法獲取一個Calendar物件,此物件用於獲取當前日期和時間。
Calendar c = Calendar。getInstance();int year = c。get(Calendar。YEAR); //年int month = c。get(Calendar。MONTH) + 1; //月,0表示1月份int day = c。get(Calendar。DAY_OF_MONTH); //日int hour = c。get(Calendar。HOUR_OF_DAY); //小時int min = c。get(Calendar。MINUTE); //分鐘int sec = c。get(Calendar。SECOND); //秒
8、Math類位於java。lang包中,包含用於執行基本數學運算的方法,Math類的所有方法都是靜態方法,可以直接用類名訪問,例如Math。round()。除了round()用於四捨五入後取整,還有,floor()返回小於引數的最大整數,ceil()返回大於引數的最小整數,random()返回[0,1)之間的隨機浮點數。
四、Collection集合介面
9、Collection集合介面繼承自Iterable介面,Iterable介面有一個Iterator介面型的方法iterator()。Collection介面的所有集合類都實現了該方法,在該方法裡實現了Iterator介面的所有方法。Iterator介面是一個迭代器,是所有java集合的頂層介面,其有三個介面方法:
boolean hasNext():判斷容器內是否還有可供訪問的元素;
Object next():返回迭代器剛越過的元素的引用,返回值是Object;
void remove():刪除迭代器剛越過的元素。
//Collection介面的集合類ArrayList//用<>表示泛型,限制該序列只能存放規定的型別及其子型別的物件//String是引用型別,java中每個字串都是一個物件。List
10、Collection 介面主要派生出List、Set、Queue等幾個常用集合介面:
List稱為序列,是有序可以重複的集合;
Set稱為集,是無序不可重複的集合;
Queue稱為佇列,是有序可以重複的集合。
11、List介面有兩個比較常用的實現,ArrayList類和LinkedList類:
ArrayList稱為陣列序列,底層資料結構是陣列,查詢快,增刪改慢;
LinkedList稱為連結串列,底層資料結構是連結串列,查詢慢,增刪改快。
12、ArrayList類有幾個比較常用的增刪改查方法,如get()、set()、add()、addAll()、remove()、removeAll()、size()、contains()、containsAll()等。
String[] s = {“aaa”,“bbb”}; //定義一個數組,用於測試addAll()listTest。add(“cjt”); //在序列最後新增元素“cjt”listTest。add(2, “chenjt”); // 在索引為2的位置,新增“chenjt”listTest。addAll(Arrays。asList(s)); //該方法接收一個Collection類的具體例項listTest。addAll(2, Arrays。asList(s));//將陣列新增到索引為2的位置listTest。remove(0); //刪除第一個索引位置的元素listTest。removeAll(Arrays。asList(s)); //刪除陣列s包含的所有元素listTest。set(0, “ddd”); //修改索引為0位置上的序列元素值listTest。get(0); //獲取listTest序列物件的第一個元素listTest。size(); //獲取序列長度listTest。contains(listTest。get(0)); //是否包含某個物件,返回boolean值
13、可以用for迴圈的方式遍歷List序列的元素。
/*for迴圈*/public void getTest(){ int len = listTest。size(); String temp; for(int i=0; i 14、Set介面有一個實現類是HashSet類。該類有幾個常用的增刪查的方法,如add()、addAll()、remove()、removeAll()、size()等(Set是無序的,所以沒有List中諸如get()、set()方法)。用法和ArrayList類的方法一致。 Set 五、Map介面 15、Map介面提供了一種對映關係,其中的元素是以鍵值對(key-value)的形式儲存的,能夠實現根據key快速查詢value。Map中的鍵值對以Entry型別的物件例項形式存在。key值不可重複,value值可以重複。 16、Map支援泛型,形如:Map 17、Map介面提供了幾個常用的方法,如put()、get()、keySet()、entrySet()、getKey()、getValue()、size()、containsKey()、containsValue()等。 Map 六、Collections工具類 18、Collections。sort()用於對List進行排序。 七、Comparable和Comparator介面 19、Comparable介面定義了預設的比較規則,可以進行自然排序。其實現類必須實現compareTo()方法,該方法返回正數表示大,負數表示小,0表示相等。 20、Comparator介面用於定義臨時的比較規則,其實現類需要實現compare()方法。 私信回覆學習免費領取最新學習資料