第七章:常用類

1. 基本數據類型的包裝類:爲了方便以對象方式操作基本類型的數據,Java SE API中提供了針對8種基本數據類型的包裝類
   byte    --> java.lang.Byte
   short   --> java.lang.Short
   int     --> java.lang.Integer
   long    --> java.lang.Long
   float   --> java.lang.Float
   double  --> java.lang.Double
   boolean --> java.lang.Boolean
   char    --> java.lang.Character
   掌握各種基本類型的數據與對應包裝類對象,與字符串之間的相互轉換

 

2. 自動裝箱和自動拆箱:Java SE 5.0以上版本提供的新功能
  基本類型的數據可以直接當作對應的包裝類對象使用
  包裝類對象可以直接當作對應的基本類型的數據使用
  建議謹慎使用。
 
3. java.lang.String類:不可變的字符序列。
   1) 創建方式:String str = "xxxx";
             String str2 = new String("sdfasd");
   2) 字符串連接:用+號做字符串的連接操作。
   3) 獲取字符串的長度:pubic int length()方法
   4) 字符串比較:
        ==                比較兩個字符串變量是否引用自同一個對象
       boolean equals(Object obj) 比較內容,最安全的。
       boolean euqalsIgnoreCase(String str);
       int compareTo(String str) 字典順序比較
       boolean startsWith(String str);
       boolean endsWith(String str);
   5) 搜索相關:
       int indexOf(int ch);
       int indexOf(String key);
       int indexOf(int ch, int start);
       int indexOf(String key, int start);
       int lastIndexOf(int ch);
       int lastIndexOf(String key);
       int lastIndexOf(int ch, int start);
       int lastIndexOf(String key, int start);
      
    6) 截取子串:
       char charAt(int i);
       String substring(int start);
       String substring(int start, int end); 不包括end位置
       String concat(String str);  相當於+, 不建議使用
       String replace(char oldChar, char newChar); 把舊字符替換成新字符
       String trim(); 去除前後空格
      
    7) 更改大小寫
       String toUpperCase();
       String toLowerCase();

    8) 把字符串解析成基本類型的數據:對應包裝類的靜態方法parseXxx();
       例如:int i = Integer.parseInt("1234");
             Integer integer = Integer.valueOf("1234");
   
4. 正則表達式:就是一種字符串匹配模式。
   1) 做字符串的查找、替換等。
   2) 正則表達式是一個字符串表達式,其中包括普通字符和特殊字符(元字符)
   3) 元字符:
      a) 限定符:* 0~n次、+ 1~n次、? 0~1次、{n} 指定次數、{n,} 至少n次、{n,m} n~m次
      b) 選擇匹配符:a|b
      c) 特殊字符:普通字符可以使用ASCII或Unicode符表示
         Unicode碼:中文範圍[/u4e00-/u9fa5]
         元字符要用/來進行轉譯。
      d) 字符匹配符:匹配指定集合中的任意一個字符
         [abc]:abc中的任意一個字符
         [^abc]:非abc中的任意一個字符
         [a-z]:a到z之間的任意一個字符。[0-9]
         [^a-z]:非a到z之間的任意一個字符
         . :除/n之外的任意一個字符
         /d:任何一個0-9的數字
         /D:任何一個非數字
         /w:任何一個英文字符。等效於[a-zA-Z0-9_]
         /W:任何一個非英文字符。等效於[^a-zA-Z0-9_]
         /s:匹配空白字符。
         /S:匹配非空白字符。
      e) 定位符:
         ^:匹配開始
         $:匹配結束
         /b:匹配單詞邊界
         /B:非邊界
      f) ()用來對正則表達式進行分組。可重用。用“/組編號”來引用。
         還可以“$組編號”來獲取指定分組所匹配到的字符串。
   4) 貪心匹配,默認情況的元字符都是儘量多的匹配字符串。可以在元字符後面跟上?來表示最少匹配(非貪心匹配)。

 

5. Java對正則表達式的支持:jdk1.4開始提供了java.util.regex包來支持正則表達式的操作。
   1) Pattern:正則表達式的編譯器,把正則表達式編譯成Pattern實例。
      a) public static Pattern compile(String regex):編譯指定的正則表達式返回一個Pattern實例。
      b) public static boolean matches(String regex, CharSequence input): 編譯給定正則表達式並嘗試將給定輸入與其匹配。適合只使用一次的情況。
      c) public Matcher matcher(CharSequence input):創建匹配給定輸入與此模式的匹配器。
     
   2) Matcher:正則表達式的匹配器,通過匹配器把編譯器編譯好的正則表達式與指定的字符串進行匹配。
      a) public boolean find(): 嘗試查找與該模式匹配的輸入序列的下一個子序列。
      b) public String group():返回由以前匹配操作所匹配的輸入子序列。
      c) public String group(int group):返回在以前匹配操作期間由給定組捕獲的輸入子序列。
     
      d) public String replaceAll(String replacement): 替換模式與給定替換字符串相匹配的輸入序列的每個子序列
      e) public boolean matches():嘗試將整個區域與模式匹配。用得不多。
   3) 使用方式:
      a) boolean flag = Pattern.matches("正則表達式", "源字符串");
      b) Pattern pattern = Pattern.compile("正則表達式");
         Matcher matcher = pattern.matcher("源字符串");
         while(matcher.find()){
            String str = matcher.group();
         }
   4) String類與正則表達式相關的方法:
     a) public boolean matches(String regex): 告知此字符串是否匹配給定的正則表達式。
     b) public String replaceAll(String regex, String replacement): 使用給定的 replacement 替換此字符串所有匹配給定的正則表達式的子字符串。
     c) public String[] split(String regex) 根據給定正則表達式的匹配拆分此字符串。

5. StringBuilder和StringBuffer類:當需要頻繁修改字符串的內容時建議使用。
  1) 用於高效的更改字符串的內容。
  2) 常用的方法:
     public StringBuilder append(String str);  //方法鏈的調用方式
     public String toString();
  3) StringBuilder和StringBuffer類提供的方法完全一樣,只是StringBuilder是線程不安全的。StringBuffer是線程安全的。在非多線程環境下,使用StringBuilder類效率更高。

 

6. java.lang.Math類,它提供數字中的常用運算方法,全部是靜態的。

 

7. 靜態導入:jdk5.0以上版本,可以使用 import static 包名.類名.*; 把指定類中的所有靜態成員導入到當前類中。當前類就可以直接訪問。不需要通過類名了。

 

8. java.util.Random類,隨機數工具類。
   1) 構造方法:Random();
   2) 常用方法:public int nextInt(int max); //產生[0,max)之間的一個隨機整數

 

9. 日期和時間類
  1) System類currentMillis(); 獲取系統當前時間的毫秒值.(從1970-01-01 00:00:00開始的)
  2) java.util.Date類。對國際化的支持不太好,大部分方法已過時。但格式化類卻使用它。
  3) java.util.Calendar類。日曆類,它提供了豐富的方法,用來操作日曆的指定字段。
     a) 日曆字段:YEAR 年; MONTH 月; DAY_OF_MONTH 日; HOUR MINUTE SECOND
     b) 更改或獲取日曆字段值的方法:
        void set(int field, int value);
        void add(int field, int value);
        int get(int field);
     c) 和Date實例之間的轉換
        //c -> d
        Date getTime();
        //d --> c
        Calendar c = Calendar.getInstance();
        c.setTime(date);
       
10. SimpleDateFormat類。使用指定的模式串完成Date--> String和String --> Date的操作。
    1) 模式字母:y,M,d,H,m,s
    2) String format(Date date);
    3) Date parse(String str) throws ParseException;
   
11. DecimalFormat類。使用指定的模式串完成數值的格式化工作。
    1) 模式字符:0 , # . % ¤ -
    2) String format(double d);
   
12. MessageFormat類。對指定的字符串中的點位符進行替換。
    1) 點位符的形式: {編號} 。編號從0開始
    2) String format(String 要格式化的字符串, Object... params);
   
13. java.lang.System類。

 

14. java.lang.Runtime類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章