DAY9-字符串笔记整理2018-1-19
Java字符串
1、子串:
String s1=greeting.substring(2);//表示去掉從第0個開始的2個字符
String s2=greeting.substring(0, 3);//表示截取第0個到第3個字符
左圖為程序片段,右圖為運行結果:
?
?
?
2、拼接:
String array1= String.join("/","人類","動物類","鳥類","魚類");
左圖為程序片段,右圖為運行結果:
?
?
?
3、不可變字符
由于不能修改java中的字符,故將String類中的字符稱為不可變字符
4、檢測字符是否相等
1、檢測兩個字符串是否相等equal,
表達式:string1.equal(string2);
如果string1與string2相等返回true,否則返回false。可以是字符串變量,也可以是一個字符串實體,如:”hello”equal(“world”); 是符合條件的。
2、檢測兩個字符串相等,但是不區分大小寫,可使用equalsIgnoreCase方法。
注:一定不能使用==檢測字符串是否相等
下面是《java核心技術》里的片段:
?
?
5、空串和null串
空串””是長度為0的字符串。檢測字符串長度:len=string1.length(); 空串有自己的長度,長度為0,內容為空。String這個變量還可以存放一個特殊的值null,這時候表示沒有任何對象與該變量關聯。
注:a.如果要檢測一個字符串既不為0也不為空需要同時滿足:string1!=null&&string.length()!=0;
b.如果一個字符為null,調用時會出錯
?
6、碼點與代碼單元
?? 先簡單說明一下Unicode:(統一碼、萬國碼、單一碼)是計算機領域的一項業界標準,包括字符集、編碼方案等。
UTF-16編碼(16-bit Unicode Transformation Format):是Unicode的一個使用方式,Transformation Format即把Unicode轉化為某種格式。
(1)碼點數量:實際的字符個數,輔助字符算一個
(2)代碼單元數量:string.length()計算的不是實際字符長度,這時候輔助字符算兩個。
?
?
?
function?void?listCodePoint(String?string){
??? ?int?codePointNum?=?string.codePointCount(0,string.length()?-?1);
}
下面是《java核心技術》里對碼點與代碼單元的解釋:
?
?
?
?
?
?
7、String API
API:(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基于某軟件或硬件得以訪問一組歷程的能力,而又無需訪問源碼,或理解內部工作機制的細節。
Java中的String類包含50多種方法,大多數有用。
《Java核心技術》P51
?
?
?
?
?
8、閱讀聯機API文檔
String類中包含許多方法,而且,在標準庫中有幾千個類,方法數量驚人,要想記住所有類和方法是不可能的。因此,學會使用在線API文檔十分重要,從中可以查閱到標準庫中所有類和方法。API文檔是JDK(開發工具包)的一部分,是HTML格式的。
如下圖:Java在線API文檔(自行百度即可找到)
?
?
9、構建字符串
StringBuilder builder=new StringBuilder();
builder.append(ch);//追加單個字符append a single character
builder.append(str);//追加單個字符串append a single string
String completedString=builder.toString();
注:在JDK5.0中引入了StringBuilder類。這個類的前身是StringBuffer,其效率有些低,但允許采用多線程的方式添加或刪除字符的操作。如果所有字符串在一個單線程中編輯(通常是這樣),則應該用StringBuilder代替它。這兩個類的API是相同的。
下面是API注釋包含了StringBuilder類中的重要方法:《Java核心技術》P55
?
?
? 今天整理了筆記,另外開始接觸對象,明天繼續加油!
?
?
轉載于:https://www.cnblogs.com/archer-lcy/p/8319323.html
總結
以上是生活随笔為你收集整理的DAY9-字符串笔记整理2018-1-19的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lua table笔记
- 下一篇: 操作系统第一篇【引论】