![Java2實用教程5字符串_第1頁](http://file4.renrendoc.com/view/90b38f5463480ddfa839f8c10fb14c37/90b38f5463480ddfa839f8c10fb14c371.gif)
![Java2實用教程5字符串_第2頁](http://file4.renrendoc.com/view/90b38f5463480ddfa839f8c10fb14c37/90b38f5463480ddfa839f8c10fb14c372.gif)
![Java2實用教程5字符串_第3頁](http://file4.renrendoc.com/view/90b38f5463480ddfa839f8c10fb14c37/90b38f5463480ddfa839f8c10fb14c373.gif)
![Java2實用教程5字符串_第4頁](http://file4.renrendoc.com/view/90b38f5463480ddfa839f8c10fb14c37/90b38f5463480ddfa839f8c10fb14c374.gif)
![Java2實用教程5字符串_第5頁](http://file4.renrendoc.com/view/90b38f5463480ddfa839f8c10fb14c37/90b38f5463480ddfa839f8c10fb14c375.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第章字符串5.1 字符串 character strings5.2 字符串的常用方法 common methods 5.3 字符串與基本數(shù)據(jù)的相互轉化5.4 對象的字符串表示5.5 StringTokenizer類5.6字符串與字符、字節(jié)數(shù)組5.7 StringBuffer類5.8 正則表達式 Regular Expressions15.1 字符串java.lang.String類,字符串變量是對象。1.字符串常量 “你好”,“1234.987”,“weqweo”。2.創(chuàng)建字符串 使用String類的構造方法,例如: String s=new String(we are students);2
2、5.2 字符串的常用方法(1)public int length()length()方法可以獲取一個字符串的長度 ,如:String tom= 我們是學生;tom.length()的值5。3public boolean equals(String s) 比較當前字符串對象的實體是否與參數(shù)指定的字符串s的實體相同.String tom=new String( we are students);String boy=new String( We are students);String jerry= new String(we are students);tom.equals(boy)的值是fal
3、se,tom.equals(jerry)的值是 true。 4public boolean startsWith(String s)public boolean endsWith(String s) 字符串對象調(diào)用startsWith(String s)方法,判斷當前字符串對象的前綴是否是參數(shù)指定的字符串s .字符串對象調(diào)用endsWith(String s) 方法,判斷當前字符串的后綴是否是字符串s .5public boolean regionMatches(int firstStart, String other, int ortherStart,int length) 從當前字符串參數(shù)
4、firstStart指定的位置處開始,取長度為length的一個子串,將這個子串和參數(shù)other指定的一個子串進行比較。其中,other指定的子串是從參數(shù)othertStart指定的位置開始,長度為length的一個子串。6public int compareTo(String s) 字符串對象按字典序與參數(shù)s指定的字符串比較大小。如果當前字符串與s相同,該方法返回值0;如果當前字符串大于s,該方法返回正值;如果小于s,該方法返回負值。 7public int indexOf (String s) indexOf (String s)從當前字符串的頭開始檢索字符串s,并返回首次出現(xiàn)s的位置。如
5、果沒有檢索到字符串s,該方法返回的值是-1。indexOf(String s ,int startpoint)方法從當前字符串的startpoint位置處開始檢索字符串s,并返回首次出現(xiàn)s的位置。lastIndexOf (String s)方法從當前字符串的頭開始檢索字符串s,并返回最后出現(xiàn)s的位置。8public String substring(int startpoint) 字符串對象調(diào)用該方法獲得一個當前字符串的子串該子串是從當前字符串的startpoint處截取到字符串的末尾所得到的字符串。字符串對象調(diào)用substring(int start ,int end)方法獲得一個當前字符串
6、的子串,該子串是從當前字符串的start處截取到end處所得到的字符串,但不包括end處所對應的字符。 9public String replaceAll(String oldString ,String newString) 字符串對象s調(diào)用該方法可以獲得一個串對象,這個串對象是通過用參數(shù)newString指定的字符串替換s中由oldString指定的所有字符串而得到的字符串。10public String trim() 一個字符串s通過調(diào)用方法trim()得到一個字符串對象,該字符串對象是s去掉前后空格后的字符串。 115.3 字符串與基本數(shù)據(jù)的相互轉化 使用java.lang包中的Byt
7、e、Short、Integer 、 Long、Float、Double類調(diào)相應的類方法:public static byte parseByte(String s) throws NumberFormatExceptionpublic static short parseShort(String s) throws NumberFormatExceptionpublic static short parseInt(String s) throws NumberFormatExceptionpublic static long parseLong(String s) throws NumberF
8、ormatExceptionpublic static float parseFloat(String s) throws NumberFormatExceptionpublic static double parseDouble(String s) throws NumberFormatException 可以將“數(shù)字”格式的字符串,轉化為相應的基本數(shù)據(jù)類型。125.4 對象的字符串表示 在子類的講述中我們講過,所有的類都默認是java.lang包中Object類的子類或間接子類。Object類有一個public 方法toString(),一個對象通過調(diào)用該方法可以獲得該對象的字符串表示。1
9、35.5 StringTokenizer類 當我們分析一個字符串并將字符串分解成可被獨立使用的單詞時,可以使用java.util包中的StringTokenizer類,該類有兩個常用的構造方法: StringTokenizer(String s) 為字符串s構造一個分析器。使用默認的分隔符集合,即空格符(若干個空格被看做一個空格)、換行符、回車符、Tab符、進紙符。StringTokenizer(String s, String delim) 為字符串s構造一個分析器。參數(shù)dilim中的字符被作為分隔符。14把一個StringTokenizer對象稱作一個字符串分析器。一個分析器可以使用nex
10、tToken()方法逐個獲取字符串中的語言符號(單詞)每當調(diào)用nextToken()時,都將在字符串中獲得下一個語言符號,每當獲取到一個語言符號,字符串分析器中的負責計數(shù)的變量的值就自動減一,該計數(shù)變量的初始值等于字符串中的單詞數(shù)目 155.6 字符串與字符、字節(jié)數(shù)組 public void getChars(int start,int end,char c,int offset ) 字符串調(diào)用getChars方法將當前字符串中的一部分字符拷貝到參數(shù)c指定的數(shù)組中。將字符串中從位置start到end-1位置上的字符拷貝的數(shù)組c中,并從數(shù)組c的offset處開始存放這些字符。需要注意的是,必須保
11、證數(shù)組c能容納下要被拷貝的字符。public char toCharArray() 字符串對象調(diào)用該方法可以初始化一個字符數(shù)組,該數(shù)組的長度與字符串的長度相等,并將字符串對象的全部字符拷貝到該數(shù)組中。16String(byte,int offset,int length) 該構造方法使用平臺默認的字符編碼,用指定的字節(jié)數(shù)組的一部分,即從數(shù)組起始位置offset開始取length個字節(jié)構造一個字符串對象。public byte getBytes() 使用平臺默認的字符編碼,將當前字符串轉化為一個字節(jié)數(shù)組。17 “hello”與new String(“hello”)的區(qū)別以下兩種方式都定義了兩個內(nèi)
12、容為“hello”的字符串。方式一:String s1= hello,s2=hello; 方式二:String s1=new String(hello),s2=new String(hello);在第一種方式中,“hello”為直接數(shù),Java虛擬機把它作為編譯時常量,在內(nèi)存中只會為它分配一次內(nèi)存,然后就可以重復使用,因此s1=s2的比較結果為true。在第二種方式中,每個new語句都會新建一個String對象,因此s1=s2的比較結果為false。18public class ThreeStrs public String s1;public String s2;public String
13、s3 = hello;void init1() s1 = hello;void init2() s2 = hello;public static void main(String args) ThreeStrs t = new ThreeStrs();t.init1();t.init2();System.out.println(t.s1 = t.s2); / 打印trueSystem.out.println(t.s1 = t.s3); / 打印trueThreeStrs tt = new ThreeStrs();tt.init1();tt.init2();System.out.println(
14、t.s1 = tt.s1); / 打印true195.7 StringBuffer類 String類創(chuàng)建的字符串對象是不可修改的String字符串不能修改、刪除或替換字符串中的某個字符,即String對象一旦創(chuàng)建,那么實體是不可以再發(fā)生變化的.StringBuffer類能創(chuàng)建可修改的字符串序列,也就是說,該類的對象的實體的內(nèi)存空間可以自動的改變大小,便于存放一個可變的字符序列。 205.8正則表達式regular expressions 一個正則表達式是含有一些具有特殊意義字符的字符串,這些特殊字符稱作正則表達式中的元字符metacharacter 。比如,“dhello”中的d就是有特殊意義
15、的元字符,代表0到9中的任何一個。字符串“9hello”和“1hello”都是和正則表達式:“dhello”匹配的字符串之一。字符串對象調(diào)用 public boolean matches(String regex) 方法可以判斷當前字符串對象是否和參數(shù)regex指的正則表達式匹配。21元字符 MetacharactersSee Java Documentation22Some PatternsAn+a Ana, Annna Aa, ANnaA2,7AA, AAA, , AAAAAAA AAAAAAAAdddd d4A|B(w+)_(w+)(w+).org (d-)?(d3-)?d3-d4 23
16、public class Example4_9 public static void main(String args) / 把字符串中的“aaa”全部替換為“z”/ 打印zbzczSystem.out.println(aaabaaacaaa.replaceAll(a3, z);/ 把字符串中的“aaa”、“aa”或者“a”全部替換為“*”/ 打印*b*c*System.out.println(aaabaaca.replaceAll(a1,3, *);/ 把字符串中的數(shù)字全部替換為“z”/ 打印zzzazzbzzccSystem.out.println(123a44b35cc.replaceA
17、ll(d, z);/ 把字符串中的非數(shù)字全部替換為“z”/ 打印1234000435000System.out.println(1234abc435def.replaceAll(D, 0);/ 把字符串中的“.”全部替換為“”/ 打印comabcdollappDollSystem.out.println(com.abc.dollapp.Doll.replaceAll(., );/ 把字符串中的“a.b”全部替換為“-”,/ “a.b”表示長度為3的字符串,以“a”開頭,以“b”結尾/ 打印-hello-allSystem.out.println(azbhelloahball.replaceAll(a.b, -);/ 把字符串中的所有詞字符替換為“#”/ 正則表達式“a-zA-Z_0-9”等價于是“w”/ 打印#.#.#.#.#.#.#System.out.println(a.b.c.replaceAll(a-zA-Z_0-9, #);/ 用正則表達式判斷一個字符串是否是一個正確的E-mail 地址格式String rege
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國交通運輸用觸控平板電腦行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 摩托車剎車制動臂項目可行性研究報告建議書案例
- 2025年手柄式大便延時閥行業(yè)深度研究分析報告
- 2025年吸塑門板項目可行性研究報告
- 苯磺酸氨氯地平項目可行性研究報告
- 鋁板帶深加工建設項目可行性研究報告申請立項備案
- 2025-2030年中國特種玻璃鍋蓋項目投資可行性研究分析報告
- 2025年度廣州高端住宅市場房地產(chǎn)中介服務合同
- 2025年度金融機構與個人旅游貸款合同標準
- 2025年公路貨運合同違約責任及爭議解決條款
- 充電樁知識培訓課件
- 2025年七年級下冊道德與法治主要知識點
- 2025年交通運輸部長江口航道管理局招聘4人歷年高頻重點提升(共500題)附帶答案詳解
- 老年髖部骨折患者圍術期下肢深靜脈血栓基礎預防專家共識(2024版)解讀
- 偏癱足內(nèi)翻的治療
- 藥企質(zhì)量主管競聘
- 信息對抗與認知戰(zhàn)研究-洞察分析
- 心腦血管疾病預防課件
- 手術室??谱o士工作總結匯報
- 2025屆高三聽力技巧指導-預讀、預測
- 蘇州市2025屆高三期初陽光調(diào)研(零模)政治試卷(含答案)
評論
0/150
提交評論