JAVA基礎知識總結2
異常、陣列、字串、包裝類
1.異常:執行期出現的錯誤,觀察錯誤的名字和行號最重要 異常處理:try{可能出現異常的語句}catch(異常型別 物件){異常處理} 先逮小的異常,再逮大的異常 重寫方法需要丟擲與原方法所丟擲異常型別一致或不丟擲異常 finally:異常的統一出口,不管是否出現異常,都執行統一的程式碼 throws:在方法定義上使用,表示此方法中不進行異常的處理,而是交給被呼叫處處理 當呼叫丟擲了異常的方法時,必須寫上異常處理語句 throw: 指在方法中人為的丟擲一個異常類物件(這個異常類物件可能是自己的例項化或者是丟擲已存在的) Throwable:異常最大的父類,其分為兩個字類:Exception和Error。 Exception表示程式處理的異常,Error表示JVM錯誤 RuntimeException類: 是Exception類的子類,其定義的異常可以選擇性的進行處理
2.陣列: java語言中宣告陣列時不能指定其長度 如:int a[5]; 這樣宣告一維陣列是非法的, int[]s = new int[5] 允許的,建立一個大小為5型別為int的陣列。合法的,這個是先在棧中開一個空間名為a,然後new再在堆中開闢5個空間 物件陣列的建立:Integer testInteger = new Integer(5);// 允許的,建立一個值為5的Integer物件 陣列的拷貝:public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 用於將陣列第srcPos項元素開始的length個元素拷貝到目標陣列從destPos項開始的length個位置
3.String類: 字串常量就是String的匿名物件 String表示不可變的字元序列,字串一旦定義則不可改變 例項化方式:開發中使用直接賦值方式 直接賦值(String str = “字串”;)會開闢一塊堆記憶體空間,並且自動儲存在物件池中以供下次重複使用 構造方法(String str = new String(“字串”);)會開闢兩塊記憶體空間,不會自動入池,其中一塊作為垃圾 字串相等比較: “==”在String中比較的記憶體地址的數值 String類中重寫了equals方法,同來進行字串內容的比較 String類方法: charAT(int index):返回字串的第index個字元 length():返回字串的長度 indexOf(String str):返回字串中出現str的第一個位置 indexOf(String str, int fromIndex):返回字串中從fromIndex開始出現str的第一個位置 equalsIgnoreCase(String another):比較字串與another是否一樣(忽略大小寫) replace(char oldChar,char newChar);在字串中用newChar字元替換oldChar字元 substring(int beginIndex) :返回一個新的字串,它從指定索引處的字元開始,直到此字串末尾。 toCharArray():將字串以字元陣列的形式返回 split(String regex):根據給定的正則表示式的匹配拆分此字串,將字串以字串陣列的形式返回 P520.3 將一個字串拆成字串陣列,再把每個陣列元素轉換成整形變數 String data = scan.next(); String result [] = data.split(""); int temp = Integer.parseInt(result[i]) ; java.lang.StringBuffer 代表可變的字元序列 方法:刪除,新增 StringBuffer類使用append()方法可以完成字串的連線操作, 而String類使用“+”完成; 4.包裝類:Java語言是一個面向物件的語言,但是Java中的基本資料型別卻是不面向物件的, 因此,在設計類時為每個基本資料型別設計了一個對應的類進行代表,這樣八個和基本資料型別對應的類統稱為包裝類 用途: a、作為和基本資料型別對應的類型別存在,方便涉及到物件的操作。 b、包含每種基本資料型別的相關屬性如最大值、最小值等,以及相關的操作方法 例: a、parseInt方法:將數字字串轉換為int數值 public static int parseInt(String s) String s = “123”; int n = Integer.parseInt(s); b、toString方法:將int型別轉換為對應的String型別 public static String toString(int i) int m = 1000; String s = Integer.toString(m); 在JDK 1.5之後,基本資料型別可以採用直接賦值的方式為包裝類進行物件的例項化操作, 而包裝類的物件也可以通過直接賦值的方式變回基本資料型別
5.列舉型別:列舉定義出了一個類所能使用的若干幾個例項化物件,列舉可以直接採用“列舉型別.物件”的方式取得類中的例項化物件進行操作 只能取特定值中的一個 enum關鍵字,使用enum定義的列舉型別實際上都表示一個類預設繼承了Enum類 enum Color{ RED,GREEN,BLUE; } Color red = Color.RED; 本程式定義了一個Color的類,同時在類中定義了三種顏色的物件,需要時直接呼叫即可 列舉就是一種簡化的多例設計模式 列舉中定義的構造方法不能使用public宣告;列舉物件必須放在首行 列舉中通過values()方法取得沒覺得全部內容 在列舉中可以定義構造方法,則再設定列舉範圍時必須顯式的呼叫構造方法 Alt+/:進行程式碼提示 Ctrl+l:為錯誤的程式碼給出糾正方案 Ctrl+/:使用單行註釋