版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第九章
-----字符串學(xué)習(xí)目標(biāo)掌握String的基本用法如何定義、初始化字符串如何訪問字符串長度如何比較、連接、提取字符串會使用StringBuffer類的方法對字符串進(jìn)行操作/無處不在的字符串生活中的字符串使用String對象存儲字符串String類位于java.lang包中,具有豐富的方法計算字符串的長度連接字符串比較字符串提取字符串/頻繁使用的字符串“有志者事竟成”“離奧運(yùn)會開幕還有380天”“教育改變生活”Strings="有志者事竟成";Strings=newString("有志者事竟成");字符串長度2-1/packages1java.sg.chap9;importjava.util.*;publicclassHello1{publicstaticvoidmain(String[]args){System.out.print("請隨機(jī)輸入你想到的名字:");Scannerinput=newScanner(System.in);Stringname=input.next();System.out.println("這個名字的長度是:\"
"+name.length()+"\"
");}隨機(jī)輸入你心中想到的一個名字,然后輸出它的字符串長度調(diào)用字符串的length()方法可以獲得字符串的長度要想打印輸出引號(”),必須在字符串中使用轉(zhuǎn)義序列\(zhòng)”字符串長度2-2計算字符串長度/字符串長度調(diào)用length()方法獲得返回字符串中的字符數(shù)調(diào)用方法:字符串標(biāo)識符.length();方法原型:publicintlength(){}字符串比較4-1
兩個學(xué)員輸入各自最喜歡的課程名稱,判斷是否一致///判斷課程名稱是否相同if(favCourse1.equals(favCourse2)){System.out.println("最喜歡的課程相同");}else{System.out.println("最喜歡的課程不相同");}比較兩個字符串是否相等演示示例2:演示比較字符串字符串比較4-2equals()方法比較原理輸入的“Java”和“java”代表同一課程,如何解決?使用equalsIgnoreCase()方法結(jié)合toUpperCase()或toLowerCase()/字符串1字符串2檢查組成字符串內(nèi)容的字符是否完全一致字符串比較4-3使用equalsIgnoreCase()方法解決/比較時忽略大小寫形式if(favCourse1.equalsIgnoreCase(favCourse2)){System.out.println("最喜歡的課程相同");}else{System.out.println("最喜歡的課程不相同");}字符串比較4-4結(jié)合toUpperCase()方法解決/Java使用toUpperCase(
)
方法JAVAJava使用toLowerCase(
)
方法javaif(favCourse1.toUpperCase().equals(favCourse2.toUpperCase())){System.out.println("最喜歡的課程相同");}else{System.out.println("最喜歡的課程不相同");}小結(jié)1學(xué)員進(jìn)行入學(xué)注冊,輸入兩次密碼,如果相同,提示注冊成功,如果不相同,提示重新輸入密碼/選用哪個方法更合適?字符串連接3-1
小李的Java成績?nèi)绫硭荆敵鏊某煽儐螌W(xué)科成績SQL80Java90HTML86.7/publicstaticvoidmain(String[]args){intsqlScore=80;//sql成績intjavaScore=90;//java成績doublehtmlScore=86.7;//html成績//創(chuàng)建成績單StringscoreSheet="SQL:"+sqlScore+"Java:"+javaScore+"HTML:"+htmlScore;//打印成績單System.out.println("*****令狐沖成績單*****");System.out.println(scoreSheet);
}“+”連接字符串StringscoreSheet="SQL:\t"+sqlScore+"\nJava:\t"+javaScore+"\nHTML:\t"+htmlScore;數(shù)值型變量自動轉(zhuǎn)換成String類型字符串連接3-2方法1:使用“+”方法2:使用String類的concat()方法/你好,張三!Strings=newString("你好,");Stringname=newString("張三!");Stringsentence=s.concat(name);System.out.println(sentence);輸出結(jié)果A.concat(B):B字符串將被連接到A字符串后面字符串的分割字符串的分割,就是控制分割后,形成多個字符串
String[]ses=s.split(str);如:/Stringstr=newString("英語,數(shù)學(xué),語文");String[]courses=str.split(",");/提取字符串中的單個字符在這里我們可以使用charAt();Stringa=“nihao”;charb=a.charAt(3);System.out.print(b);a注意:charAt()方法返回的是char類型的值,里邊的參數(shù)是要求提取的位置字符串常用提取方法4-1
使用作業(yè)提交系統(tǒng)提交Java作業(yè),輸入java源代碼文件名,并輸入自己的郵箱,提交前對Java文件名以及郵箱有效性進(jìn)行檢查。編碼實(shí)現(xiàn)/合法的文件名應(yīng)該以.java結(jié)尾合法的郵箱名中至少要包含“@”和“.”,并檢查“@”是否在“.”之前字符串常用提取方法4-2常用提取方法舉例方法說明publicintindexOf(intch)搜索第一個出現(xiàn)的字符ch(或字符串value)publicintindexOf(Stringvalue)publicintlastIndexOf(intch)搜索最后一個出現(xiàn)的字符ch(或字符串value)publicintlastIndexOf(Stringvalue)/返回出現(xiàn)第一個匹配的位置,如果沒有找到字符或字符串,則返回-1青春無悔0123
位置演示示例4:演示常用字符串提取方法
字符串常用提取方法4-3方法說明publicStringsubstring(intindex)提取從位置索引開始的字符串部分publicStringsubstring(intbeginindex,intendindex)提取beginindex和endindex之間的字符串部分publicStringtrim()返回一個前后不含任何空格的調(diào)用字符串的副本/beginindex:字符串的位置從0開始算;endindex:字符串的位置從1開始算字符串常用提取方法4-4///檢查Java文件名
intindex=fileName.lastIndexOf(".");
if(index!=-1&&index!=0&&fileName.substring(index+1,fileName.length()).equals("java")){fileCorrect=true;}else{System.out.println("文件名無效。");}//檢查你的郵箱格式if
(email.indexOf('@')
!=-
1&&email.indexOf('.')
>
email.indexOf('@')){
emailCorrect=true;}else{
System.out.println("Email無效。");}演示示例5:演示作業(yè)提交系統(tǒng)
作業(yè)提交系統(tǒng)小結(jié)2
如果要打印輸出“小魚兒”,應(yīng)填入的代碼是什么?/Stringword="Hello,";word=word.trim();Strings=word.concat("小魚兒!");intindex1=s.indexOf(',');intindex2=s.indexOf('!');System.out.println(s.substring(______,_______));index1+1index2StringBufferStringBuffer:String增強(qiáng)版,可以使用append方法進(jìn)行字符串的追加,并且只是基于一個對象的操作,StringBuffer對象的存儲容量只要超過初始容量,都會在使用的過程中自動的增加。StringBuffer聲明StringBuffer的使用/StringBuffersb=newStringBuffer();StringBuffersb=newStringBuffer("aaa");創(chuàng)建空字符串創(chuàng)建一個變量存儲字符串a(chǎn)aasb.toString();//轉(zhuǎn)化為String類型sb.append("**");//追加字符串StringBuffer的用武之地
//聲明課程信息字符串
StringBuffercourse=newStringBuffer();System.out.println("請輸入S1課程信息:");Scannersc=newScanner(System.in);
//循環(huán)從鍵盤接收字符串
Stringinput;while(!(input=sc.next()).equals("#")){
course.append(input);
course.append("\n");}System.out.println("s1的課程信息是:"+course);定義StringBuffer的實(shí)例,存儲課程字符串循環(huán)追加字符,使用StringBuffer,效率高!從控制臺接收課程信息,不斷累加直到輸入“#”鍵結(jié)束,并輸出全部課程信息
String與StringBufferString:為不可變對象,一旦被創(chuàng)建,就不能修改它的值。對于已經(jīng)存在的String對象的修改都是重新創(chuàng)建一個新的對象,然后把新的值保存進(jìn)去。耗內(nèi)存,效率低其聲明方式:
Strings=“hello”;或Strings=newString(“hello”);StringBuffer:是一個可變對象,當(dāng)對他進(jìn)行修改的時候不會重新建立對象只能通過構(gòu)造函數(shù)來建立,即聲明方式只能是:
StringBuffersb=newStringBuffer(“hello”);不能通過賦值符號對他進(jìn)行賦值。如sb=“welcometohere!”;是錯誤的。向StringBuffer中追加字符串使用它的append方法:sb.append();StringBuilder類J2se5.0提供了java.lang.StringBuilder類,一個可變的字符序列。此類提供一個與StringBuffer兼容的API,但不保證同步。該類被設(shè)計用作StringBuffer的一個簡易替換,用在字符串緩沖區(qū)被單個線程使用的時候(這種情況很普遍)。如果可能,建議優(yōu)先采用該類,因?yàn)樵诖蠖鄶?shù)實(shí)現(xiàn)中,它比StringBuffer要快。在StringBuilder上的主要操作是append和insert方法,重載這些方法,以接受任意類型的數(shù)據(jù)。每個方法都能有效地將給定的數(shù)據(jù)轉(zhuǎn)換成字符串,然后將該字符串的字符追加或插入到字符串生成器中。append方法始終將這些字符添加到生成器的末端;而insert方法則在指定的點(diǎn)添加字符。常用方法:查閱和使用API文檔/三個表示字符串類的區(qū)別:JAVA中提供了專門處理字符串的三個標(biāo)準(zhǔn)的類,分別是String類、StringBuffer類、StringBuilder類。那么它們?nèi)咧g有什么區(qū)別呢?String類表示的是不可改變的字符串,只有通過不斷創(chuàng)建新的對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版智慧農(nóng)業(yè)項(xiàng)目合作合同范本4篇
- 二零二五年度農(nóng)產(chǎn)品供應(yīng)鏈金融服務(wù)合同7篇
- 二零二五年度廚師食材采購與成本控制服務(wù)合同3篇
- 二零二五年度新能源研發(fā)中心聘請兼職勞務(wù)合同4篇
- 2025年文化創(chuàng)意產(chǎn)業(yè)貨款合同退款及知識產(chǎn)權(quán)保護(hù)協(xié)議3篇
- 二零二五年度排水管道安裝與水質(zhì)監(jiān)測服務(wù)合同3篇
- 二零二五年度農(nóng)藥研發(fā)成果轉(zhuǎn)化與應(yīng)用合同3篇
- 2025年度個人投資理財顧問委托合同3篇
- 2025版特色商業(yè)街區(qū)門面店裝修施工合同2篇
- 2025年度民品典當(dāng)借款合同標(biāo)準(zhǔn)化文本4篇
- 有砟軌道施工工藝課件
- 兩辦意見八硬措施煤礦安全生產(chǎn)條例宣貫學(xué)習(xí)課件
- 40篇短文搞定高中英語3500單詞
- 人教版高中數(shù)學(xué)必修二《第九章 統(tǒng)計》同步練習(xí)及答案解析
- 兒科護(hù)理安全警示教育課件
- 三年級下冊口算天天100題
- 國家中英文名稱及代碼縮寫(三位)
- 人員密集場所消防安全培訓(xùn)
- 液晶高壓芯片去保護(hù)方法
- 使用AVF血液透析患者的護(hù)理查房
- 拜太歲科儀文檔
評論
0/150
提交評論