Java基礎(chǔ)隨記
- Java中的異常處理

- String
-
一旦一個(gè)字符串在內(nèi)存中創(chuàng)建奕扣,則這個(gè)字符串將不可改變绢记。如果需要一個(gè)可以改變的字符串扁达,我們可以使用StringBuffer或者StringBuilder
String s1 = new String("abc"); String s2 = new String("abc"); System.out.println(s1 == s2); //結(jié)果為false System.out.println((s1)equals(s2)); //結(jié)果為true
每次 new 一個(gè)字符串就是產(chǎn)生一個(gè)新的對(duì)象,即便兩個(gè)字符串的內(nèi)容相同蠢熄,使用 ”==” 比較時(shí)也為 ”false” ,如果只需比較內(nèi)容是否相同跪解,應(yīng)使用 ”equals()” 方法
-
一些string的方法:
使用 indexOf 進(jìn)行字符或字符串查找時(shí),如果匹配返回位置索引签孔;如果沒有匹配結(jié)果叉讥,返回 -1
-
使用 substring(beginIndex , endIndex) 進(jìn)行字符串截取時(shí),包括 beginIndex 位置的字符饥追,不包括 endIndex 位置的字符
String s1 = new String("a0b2c"); System.out.println(Arrays.toString(s1.split("b")));//輸出[a0, 2c]
- StringBuilder 類& StringBuffer 類
- 當(dāng)頻繁操作字符串時(shí)图仓,就會(huì)額外產(chǎn)生很多臨時(shí)變量。使用 StringBuilder 或 StringBuffer 就可以避免這個(gè)問題但绕。
- StringBuilder 和StringBuffer 救崔,它們基本相似惶看,不同之處,StringBuffer 是線程安全的六孵,而 StringBuilder 則沒有實(shí)現(xiàn)線程安全功能纬黎,所以性能略高。
-
因此一般情況下劫窒,如果需要?jiǎng)?chuàng)建一個(gè)內(nèi)容可變的字符串對(duì)象本今,應(yīng)優(yōu)先考慮使用 StringBuilder 類。
- Java 中的包裝類
基本數(shù)據(jù)類型是不具備對(duì)象的特性的烛亦,比如基本類型不能調(diào)用方法诈泼、功能簡(jiǎn)單懂拾,為了讓基本數(shù)據(jù)類型也具備對(duì)象的特性煤禽, Java 為每個(gè)基本數(shù)據(jù)類型都提供了一個(gè)包裝類,這樣我們就可以像操作對(duì)象那樣來操作基本數(shù)據(jù)類型岖赋。
-
基本類型和包裝類之間的對(duì)應(yīng)關(guān)系:
-
包裝類主要提供了兩大類方法:
- 將本類型和其他基本類型進(jìn)行轉(zhuǎn)換的方法
- 將字符串和本類型及包裝類互相轉(zhuǎn)換的方法
-
以int為例:
-
Integer 包裝類的構(gòu)造方法:
-
Integer包裝類的常用方法:
-
-
代碼eg.
public class HelloWorld { public static void main(String[] args) { // 定義int類型變量檬果,值為86 int score1 = 86; // 創(chuàng)建Integer包裝類對(duì)象,表示變量score1的值 Integer score2=new Integer(score1); // 將Integer包裝類轉(zhuǎn)換為double類型 double score3=score2.doubleValue(); // 將Integer包裝類轉(zhuǎn)換為float類型 float score4=score2.floatValue(); // 將Integer包裝類轉(zhuǎn)換為int類型 int score5 =score2.intValue(); System.out.println("Integer包裝類:" + score2); System.out.println("double類型:" + score3); System.out.println("float類型:" + score4); System.out.println("int類型:" + score5); } }
-
結(jié)果:
-
拆裝箱:
-
裝箱:把基本類型轉(zhuǎn)換成包裝類唐断,使其具有對(duì)象的性質(zhì)选脊,又可分為手動(dòng)裝箱和自動(dòng)裝箱
-
拆箱:和裝箱相反,把包裝類對(duì)象轉(zhuǎn)換成基本類型的值脸甘,又可分為手動(dòng)拆箱和自動(dòng)拆箱
-
裝箱:把基本類型轉(zhuǎn)換成包裝類唐断,使其具有對(duì)象的性質(zhì)选脊,又可分為手動(dòng)裝箱和自動(dòng)裝箱