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類。