1. 程式人生 > >JAVA基礎知識總結2——異常、陣列、字串、包裝類

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、包含每種基本資料型別的相關屬性如最大值、最小值等,以及相關的操作方法

                 c、將本型別與其他型別進行轉換;
                 d、將字串與本型別及包裝型別相互轉換。
  包裝類的使用:

  •   基本資料型別轉換成包裝類(裝箱),包裝類轉換成基本資料型別(裝箱)
  1. Integer i1 = new Integer(100); //方法一
  2. Integer i1 = 100;//方法二
  3. int value = i1;//方法1
  4. int value = i1.intValue();//方法2
  •   包裝類轉換成其他基本資料型別
  1. Integer i = new Integer(100);
  2. double d = i.doubleValue();
  • 基本資料型別轉換成字串
  • 字串轉換成基本資料型別

5.equals() 和== 的區別

  • 在Java中,任何型別的資料都可以用 “==”進行比較是不是相等,一般用於基本資料型別的比較,比較器儲存的值是否相等。但是如果用於引用型別的比較,則是比較所指向物件的地址是否相等,在這點上,跟object類提供的equals()方法的作用是一致的。
  • 對於equals()方法
    1) 首先,不能用於基本資料型別的變數之間的比較相等;
    2) 如果沒有對equals方法進行重寫,則比較的是引用型別的變數所指向的物件的地址;
    3) 諸如StringDate等類都對equals方法進行了重寫,比較的是所指向的物件的內容。

 

6.列舉型別:列舉定義出了一個類所能使用的若干幾個例項化物件,列舉可以直接採用“列舉型別.物件”的方式取得類中的例項化物件進行操作  
        只能取特定值中的一個
        enum關鍵字,使用enum定義的列舉型別實際上都表示一個類預設繼承了Enum類
        enum Color{
            RED,GREEN,BLUE;
        }
        Color red = Color.RED;
        本程式定義了一個Color的類,同時在類中定義了三種顏色的物件,需要時直接呼叫即可
        列舉就是一種簡化的多例設計模式
        列舉中定義的構造方法不能使用public宣告;列舉物件必須放在首行
        列舉中通過values()方法取得沒覺得全部內容
        在列舉中可以定義構造方法,則再設定列舉範圍時必須顯式的呼叫構造方法
        
        
Alt+/:進行程式碼提示
Ctrl+l:為錯誤的程式碼給出糾正方案
Ctrl+/:使用單行註釋