版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第11章 字符串和字符,教學目標: 創(chuàng)建和操作不可修改的String類的字符串對象 創(chuàng)建和操作可修改的StringBuffer類的字符串對象 創(chuàng)建和操作Character類的 對象 使用StringTokenizer對象將String對象分解為符號 教學重點: 掌握以上類的具體應用 教學難點: 正則表達式,Class java.lang.String Class java.lang.StringBuffer Class java.lang.Character Class java.util.StringTokenizer Pattern類和Matcher類:Class java.util.re
2、gex,11.1 本章簡介,字符是構(gòu)建Java源程序的基本構(gòu)建塊。字符常量是一個整數(shù)值,它表示為單引號中的字符。 字符串由一系列字符構(gòu)成,將這些字符視為一個單元。字符串可以包含字母、數(shù)字和各種特殊字符。字符串是String類的對象。字符串常量(以“匿名”的String對象形式存儲在內(nèi)存中)記為雙引號中的一系列字符。 String color=“blue”;,11.2 字符和字符串的基本知識,11.3.1 String類構(gòu)造函數(shù) char charArray = b, i, r, t, h, , d, a, y ; byte byteArray = ( byte ) n, ( byte ) e,
3、 ( byte ) w, ( byte ) , ( byte ) y, ( byte ) e, ( byte ) a, ( byte ) r ; String s = new String( hello ); / use String constructors String s1 = new String(); String s2 = new String( s ); String s3 = new String( charArray ); String s4 = new String( charArray, 6, 3 ); String s5 = new String( byteArray,
4、 4, 4 ); String s6 = new String( byteArray );,11.3 String類,11.3.2 String類的方法 Int length() 返回此字符串的長度。 Char charAt(intindex) 返回指定索引處的 char 值。 Void getChars(intsrcBegin, intsrcEnd, chardst, intdstBegin) 將字符從此字符串復制到目標字符數(shù)組。,11.3.3 字符串比較 String s1 = new String( hello ); / s1 is a copy of hello String s2 =
5、 goodbye; String s3 = Happy Birthday; String s4 = happy birthday; String s5=“hello”; 1、boolean equals(ObjectanObject) :比較此字符串與指定的對象。 if ( s1.equals( hello ) ) / true else ,String s1 = new String( hello ); / s1 is a copy of hello String s2 = goodbye; String s3 = Happy Birthday; String s4 = happy birt
6、hday; String s5=“hello”; 2、=(比較引用時,如果兩個對象引用指向內(nèi)存中的同一個對象,則比較結(jié)果為真;否則為假) if ( s1 = hello ) else if ( s5 = hello ) else ,String s1 = new String( hello ); / s1 is a copy of hello String s2 = goodbye; String s3 = Happy Birthday; String s4 = happy birthday; String s5=“hello”; 3、boolean equalsIgnoreCase(Stri
7、nganotherString) 將此 String 與另一個 String 進行比較,不考慮大小寫。 if ( s3.equalsIgnoreCase( s4 ) ) / true output += s3 equals s4n; else output += s3 does not equal s4n;,String s1 = new String( hello ); / s1 is a copy of hello String s2 = goodbye; String s3 = Happy Birthday; String s4 = happy birthday; String s5=“
8、hello”; 4、int compareTo(StringanotherString) 按字典順序比較兩個字符串。 output += pareTo( s2 ) is + pareTo( s2 ) + pareTo( s1 ) is + pareTo( s1 ) + pareTo( s1 ) is + pareTo( s1 ) + pareTo( s4 ) is + pareTo( s4 ) + pareTo( s3 ) is + pareTo( s3 ) + nn;,String s1 = new String( hello ); / s1 is a copy of hello Strin
9、g s2 = goodbye; String s3 = Happy Birthday; String s4 = happy birthday; String s5=“hello”; 5、boolean regionMatches(booleanignoreCase, inttoffset, Stringother, intooffset, intlen):測試兩個字符串區(qū)域是否相等。 boolean regionMatches(inttoffset, Stringother, intooffset, intlen) :測試兩個字符串區(qū)域是否相等。 if ( s3.regionMatches(
10、0, s4, 0, 5 ) ) output += First 5 characters of s3 and s4 matchn; else output += First 5 characters of s3 and s4 do not matchn; if ( s3.regionMatches( true, 0, s4, 0, 5 ) ) output += First 5 characters of s3 and s4 match; else output += First 5 characters of s3 and s4 do not match;,6、boolean startsW
11、ith(Stringprefix) 測試此字符串是否以指定的前綴開始。 boolean startsWith(Stringprefix, inttoffset) 測試此字符串是否以指定前綴開始,該前綴以指定索引開始。 boolean endsWith(Stringsuffix) 測試此字符串是否以指定的后綴結(jié)束。,11.3.4 定位字符串中的字符和子字符串 int indexOf(intch) 返回指定字符在此字符串中第一次出現(xiàn)處的索引。 Int indexOf(intch, intfromIndex) 從指定的索引開始搜索,返回在此字符串中第一次出現(xiàn)指定字符處的索引。 Int indexOf
12、(Stringstr) 返回第一次出現(xiàn)的指定子字符串在此字符串中的索引。 Int indexOf(Stringstr, intfromIndex) 從指定的索引處開始,返回第一次出現(xiàn)的指定子字符串在此字符串中的索引。,int lastIndexOf(intch) 返回最后一次出現(xiàn)的指定字符在此字符串中的索引。 Int lastIndexOf(intch, intfromIndex) 從指定的索引處開始進行后向搜索,返回最后一次出現(xiàn)的指定字符在此字符串中的索引。 Int lastIndexOf(Stringstr) 返回在此字符串中最右邊出現(xiàn)的指定子字符串的索引。 Int lastIndexOf
13、(Stringstr, intfromIndex) 從指定的索引處開始向后搜索,返回在此字符串中最后一次出現(xiàn)的指定子字符串的索引。 返回的整數(shù)是最大值 k,它滿足: k = Math.min(fromIndex, str.length() letters.indexOf( “def”, 7 );返回的結(jié)果? letters.indexOf( hello );返回的結(jié)果? letters.lastIndexOf( “def”, 2); 返回的結(jié)果? letters.lastIndexOf( def, 17); 返回的結(jié)果?,11.3.5 提取字符串中的子字符串 String substring(
14、intbeginIndex) 返回一個新的字符串,它是此字符串的一個子字符串。 String substring(intbeginIndex, intendIndex) 返回一個新字符串,它是此字符串的一個子字符串。 beginIndex - 開始處的索引(包括)。 endIndex - 結(jié)束處的索引(不包括)。,11.3.6 字符串連接及其他方法 String concat(Stringstr) 將指定字符串聯(lián)到此字符串的結(jié)尾。 String replace(charoldChar, charnewChar) 返回一個新的字符串,它是通過用 newChar 替換此字符串中出現(xiàn)的所有 oldC
15、har 而生成的。 String toUpperCase() 使用默認語言環(huán)境的規(guī)則將此 String 中的所有字符都轉(zhuǎn)換為大寫。 String toLowerCase() 使用默認語言環(huán)境的規(guī)則將此 String 中的所有字符都轉(zhuǎn)換為小寫。 char toCharArray() 將此字符串轉(zhuǎn)換為一個新的字符數(shù)組。 String trim() 返回字符串的副本,忽略前導空白和尾部空白。,11.3.7 String類的valueOf方法 staticString valueOf(booleanb/ charc/doubled /floatf /inti /longl) 返回 boolean 參數(shù)
16、的字符串表示形式。 staticString valueOf(chardata) 返回 char 數(shù)組參數(shù)的字符串表示形式。 staticString valueOf(chardata, intoffset, intcount) 返回 char 數(shù)組參數(shù)的特定子數(shù)組的字符串表示形式。 staticString valueOf(Objectobj) 返回 Object 參數(shù)的字符串表示形式。 (fig11.9),11.4.1 StringBuffer類的構(gòu)造函數(shù) StringBuffer() 構(gòu)造一個其中不帶字符的字符串緩沖區(qū),其初始容量為 16 個字符。 StringBuffer(CharSe
17、quenceseq) 構(gòu)造一個字符串緩沖區(qū),它包含與指定的 CharSequence 相同的字符。 StringBuffer(intcapacity) 構(gòu)造一個不帶字符,但具有指定初始容量的字符串緩沖區(qū)。 StringBuffer(Stringstr) 構(gòu)造一個字符串緩沖區(qū),并將其內(nèi)容初始化為指定的字符串內(nèi)容。,11.4.2 StringBuffer類的length、capacity、ensureCapacity方法 int length() 返回長度(字符數(shù))。 int capacity() 返回當前容量。 void setLength(intnewLength) 設置字符序列的長度。 Vo
18、id ensureCapacity(intminimumCapacity) 確保容量至少等于指定的最小值。 (fig11.11),11.4.3 StringBuffer類的charAt、setCharAt、getChars、reverse方法 Char charAt(intindex) 返回此序列中指定索引處的 char 值。 Void setCharAt(intindex, charch) 將給定索引處的字符設置為 ch。 Void getChars(intsrcBegin, intsrcEnd, chardst, intdstBegin) 將字符從此序列復制到目標字符數(shù)組 dst。 Str
19、ingBuffer reverse() 將此字符序列用其反轉(zhuǎn)形式取代。,11.4.4 StringBuffer類的append方法 StringBuffer append(booleanb/ / charc/doubled /floatf /inti /longl) 將 boolean 參數(shù)的字符串表示形式追加到序列。 StringBuffer append(charstr) 將 char 數(shù)組參數(shù)的字符串表示形式追加到此序列。 StringBuffer append(charstr, intoffset, intlen) 將 char 數(shù)組參數(shù)的子數(shù)組的字符串表示形式追加到此序列。Strin
20、gBuffer append(CharSequences) 將指定的 CharSequence 追加到該序列。 StringBuffer append(CharSequences, intstart, intend) 將指定 CharSequence 的子序列追加到此序列。,11.4 .4 StringBuffer類的append方法 StringBuffer append(Objectobj) 追加 Object 參數(shù)的字符串表示形式。 StringBuffer append(Stringstr) 將指定的字符串追加到此字符序列。 StringBuffer append(StringBuff
21、ersb) 將指定的 StringBuffer 追加到此序列中。 S+=“!”; 將執(zhí)行 s=new StringBuffer().append(s).append(“!”).toString();,11.4.5 StringBuffer類的插入和刪除方法 StringBuffer insert(intoffset, booleanb/ charc/doubled /floatf /inti /longl) 將 boolean 參數(shù)的字符串表示形式插入此序列中。 StringBuffer insert(intoffset, charstr) 將 char 數(shù)組參數(shù)的字符串表示形式插入此序列中。
22、 StringBuffer insert(intindex, charstr, intoffset, intlen) 將數(shù)組參數(shù) str 的子數(shù)組的字符串表示形式插入此序列中。 StringBuffer insert(intoffset, Objectobj) 將 Object 參數(shù)的字符串表示形式插入此字符序列中。 StringBuffer insert(intoffset, Stringstr) 將字符串插入此字符序列中。 StringBuffer delete(intstart, intend) 移除此序列的子字符串中的字符。 StringBuffer deleteCharAt(inti
23、ndex) 移除此序列指定位置的 char。,11.5 Character類 Character類的大多數(shù)方法都是靜態(tài)方法,并且至少有一個字符參數(shù),這些方法要么執(zhí)行字符的測試,要么執(zhí)行字符的操作。 staticboolean isDefined(charch) 確定指定字符是否被定義為 Unicode 中的字符。 staticboolean isDigit(charch) 確定指定字符是否為數(shù)字。 staticboolean isJavaIdentifierStart(charch) 確定是否允許將指定字符作為 Java 標識符中的首字符。(字母、下劃線、$) staticboolean is
24、JavaIdentifierPart(charch) 確定指定字符是否可以是 Java 標識符中首字符以外的部分。 staticboolean isLetter(charch) 確定指定字符是否為字母。 staticboolean isLowerCase(charch) 確定指定字符是否為小寫字母。 staticboolean isUpperCase(charch) 確定指定字符是否為大寫字母。 staticchar toLowerCase(charch) staticchar toUpperCase(charch),11.5 Character類 staticchar forDigit(in
25、tdigit, intradix) 確定使用指定基數(shù)的特定數(shù)字的字符表示形式。如果 radix 的值不是一個有效基數(shù),或者 digit 的值不是一個使用指定基數(shù)的有效數(shù)字,則返回 null 字符。 如果 radix 參數(shù)大于或等于 MIN_RADIX 并且小于或等于 MAX_RADIX,則該參數(shù)是有效的。如果 0=digitradix,則 digit 參數(shù)是有效的。 參數(shù): digit - 轉(zhuǎn)換為字符的數(shù)字。 radix - 基數(shù)。 (二進制、八進制、十進制、十六進制等;基數(shù)分別為2,8,10,16) 返回: 使用指定基數(shù)的指定數(shù)字的 char 表示形式。 例如:digit=13 radix=
26、16 輸出結(jié)果為:d,11.5 Character類 staticint digit(charch, intradix) 返回使用指定基數(shù)的字符 ch 的值。 例如:ch=f radix=16 返回結(jié)果為:15 (fig11.16) Char charValue() 返回此 Character 對象的值。 Boolean equals(Objectobj) 將此對象與指定對象比較。 String toString() 返回表示此 Character 值的 String 對象。,11.6 StringTokenizer類 string tokenizer 類允許應用程序?qū)⒆址纸鉃闃擞洝?Bo
27、olean hasMoreTokens() 測試此 tokenizer 的字符串中是否還有更多的可用標記。 String nextToken() 返回此 string tokenizer 的下一個標記。 StringTokenizer st = new StringTokenizer(this is a test); while (st.hasMoreTokens() System.out.println(st.nextToken(); 輸出以下字符串: this is a test,11.7 正則表達式 (1):用來匹配字符串的開始。 (2)$:用來匹配字符串的結(jié)束。 (3)*:用來表示一個字符可以出現(xiàn)零次或者多次。 (4)+:用來表示一個字符可以出現(xiàn)一次或者多次。 (5)?:用來表示一個字符可以出現(xiàn)零次或者一次。 例如:編
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保險理財電子合同范例
- 電控材料采購合同范例
- 佰仟手機分期合同范例
- 石材進貨采購合同范例
- 融資租賃協(xié)議合同范例
- 小學書購銷合同范例
- 立車維修合同范例
- 車輛委托質(zhì)押合同范例
- 合同范例 合作經(jīng)營
- 定制酒銷售合同范例
- 【MOOC】信號與系統(tǒng)-北京郵電大學 中國大學慕課MOOC答案
- 數(shù)值分析智慧樹知到期末考試答案章節(jié)答案2024年長安大學
- 光伏并網(wǎng)前單位工程驗收報告-2023
- 欄桿百葉安裝施工方案
- 共享單車投放可行性分析報告
- DG-TJ 08-2360-2021 裝配整體式混凝土結(jié)構(gòu)工程監(jiān)理標準
- 快遞公司消防安全管理制度范本(通用5篇)
- QCDSM目標管理五大要素
- OA協(xié)同辦公系統(tǒng)運行管理規(guī)定
- 某小區(qū)建筑節(jié)能保溫工程監(jiān)理實施細則
- 高一語文必修一二冊背誦課文默寫
評論
0/150
提交評論