第七章、字符串_第1頁(yè)
第七章、字符串_第2頁(yè)
第七章、字符串_第3頁(yè)
第七章、字符串_第4頁(yè)
第七章、字符串_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第九章

-----字符串學(xué)習(xí)目標(biāo)掌握String的基本用法如何定義、初始化字符串如何訪問(wèn)字符串長(zhǎng)度如何比較、連接、提取字符串會(huì)使用StringBuffer類的方法對(duì)字符串進(jìn)行操作/無(wú)處不在的字符串生活中的字符串使用String對(duì)象存儲(chǔ)字符串String類位于java.lang包中,具有豐富的方法計(jì)算字符串的長(zhǎng)度連接字符串比較字符串提取字符串/頻繁使用的字符串“有志者事竟成”“離奧運(yùn)會(huì)開(kāi)幕還有380天”“教育改變生活”Strings="有志者事竟成";Strings=newString("有志者事竟成");字符串長(zhǎng)度2-1/packages1java.sg.chap9;importjava.util.*;publicclassHello1{publicstaticvoidmain(String[]args){System.out.print("請(qǐng)隨機(jī)輸入你想到的名字:");Scannerinput=newScanner(System.in);Stringname=input.next();System.out.println("這個(gè)名字的長(zhǎng)度是:\"

"+name.length()+"\"

");}隨機(jī)輸入你心中想到的一個(gè)名字,然后輸出它的字符串長(zhǎng)度調(diào)用字符串的length()方法可以獲得字符串的長(zhǎng)度要想打印輸出引號(hào)(”),必須在字符串中使用轉(zhuǎn)義序列\(zhòng)”字符串長(zhǎng)度2-2計(jì)算字符串長(zhǎng)度/字符串長(zhǎng)度調(diào)用length()方法獲得返回字符串中的字符數(shù)調(diào)用方法:字符串標(biāo)識(shí)符.length();方法原型:publicintlength(){}字符串比較4-1

兩個(gè)學(xué)員輸入各自最喜歡的課程名稱,判斷是否一致///判斷課程名稱是否相同if(favCourse1.equals(favCourse2)){System.out.println("最喜歡的課程相同");}else{System.out.println("最喜歡的課程不相同");}比較兩個(gè)字符串是否相等演示示例2:演示比較字符串字符串比較4-2equals()方法比較原理輸入的“Java”和“java”代表同一課程,如何解決?使用equalsIgnoreCase()方法結(jié)合toUpperCase()或toLowerCase()/字符串1字符串2檢查組成字符串內(nèi)容的字符是否完全一致字符串比較4-3使用equalsIgnoreCase()方法解決/比較時(shí)忽略大小寫形式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é)注冊(cè),輸入兩次密碼,如果相同,提示注冊(cè)成功,如果不相同,提示重新輸入密碼/選用哪個(gè)方法更合適?字符串連接3-1

小李的Java成績(jī)?nèi)绫硭?,輸出他的成?jī)單學(xué)科成績(jī)SQL80Java90HTML86.7/publicstaticvoidmain(String[]args){intsqlScore=80;//sql成績(jī)intjavaScore=90;//java成績(jī)doublehtmlScore=86.7;//html成績(jī)//創(chuàng)建成績(jī)單StringscoreSheet="SQL:"+sqlScore+"Java:"+javaScore+"HTML:"+htmlScore;//打印成績(jī)單System.out.println("*****令狐沖成績(jī)單*****");System.out.println(scoreSheet);

}“+”連接字符串StringscoreSheet="SQL:\t"+sqlScore+"\nJava:\t"+javaScore+"\nHTML:\t"+htmlScore;數(shù)值型變量自動(dòng)轉(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字符串后面字符串的分割字符串的分割,就是控制分割后,形成多個(gè)字符串

String[]ses=s.split(str);如:/Stringstr=newString("英語(yǔ),數(shù)學(xué),語(yǔ)文");String[]courses=str.split(",");/提取字符串中的單個(gè)字符在這里我們可以使用charAt();Stringa=“nihao”;charb=a.charAt(3);System.out.print(b);a注意:charAt()方法返回的是char類型的值,里邊的參數(shù)是要求提取的位置字符串常用提取方法4-1

使用作業(yè)提交系統(tǒng)提交Java作業(yè),輸入java源代碼文件名,并輸入自己的郵箱,提交前對(duì)Java文件名以及郵箱有效性進(jìn)行檢查。編碼實(shí)現(xiàn)/合法的文件名應(yīng)該以.java結(jié)尾合法的郵箱名中至少要包含“@”和“.”,并檢查“@”是否在“.”之前字符串常用提取方法4-2常用提取方法舉例方法說(shuō)明publicintindexOf(intch)搜索第一個(gè)出現(xiàn)的字符ch(或字符串value)publicintindexOf(Stringvalue)publicintlastIndexOf(intch)搜索最后一個(gè)出現(xiàn)的字符ch(或字符串value)publicintlastIndexOf(Stringvalue)/返回出現(xiàn)第一個(gè)匹配的位置,如果沒(méi)有找到字符或字符串,則返回-1青春無(wú)悔0123

位置演示示例4:演示常用字符串提取方法

字符串常用提取方法4-3方法說(shuō)明publicStringsubstring(intindex)提取從位置索引開(kāi)始的字符串部分publicStringsubstring(intbeginindex,intendindex)提取beginindex和endindex之間的字符串部分publicStringtrim()返回一個(gè)前后不含任何空格的調(diào)用字符串的副本/beginindex:字符串的位置從0開(kāi)始算;endindex:字符串的位置從1開(kāi)始算字符串常用提取方法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("文件名無(wú)效。");}//檢查你的郵箱格式if

(email.indexOf('@')

!=-

1&&email.indexOf('.')

>

email.indexOf('@')){

emailCorrect=true;}else{

System.out.println("Email無(wú)效。");}演示示例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)行字符串的追加,并且只是基于一個(gè)對(duì)象的操作,StringBuffer對(duì)象的存儲(chǔ)容量只要超過(guò)初始容量,都會(huì)在使用的過(guò)程中自動(dòng)的增加。StringBuffer聲明StringBuffer的使用/StringBuffersb=newStringBuffer();StringBuffersb=newStringBuffer("aaa");創(chuàng)建空字符串創(chuàng)建一個(gè)變量存儲(chǔ)字符串a(chǎn)aasb.toString();//轉(zhuǎn)化為String類型sb.append("**");//追加字符串StringBuffer的用武之地

//聲明課程信息字符串

StringBuffercourse=newStringBuffer();System.out.println("請(qǐng)輸入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í)例,存儲(chǔ)課程字符串循環(huán)追加字符,使用StringBuffer,效率高!從控制臺(tái)接收課程信息,不斷累加直到輸入“#”鍵結(jié)束,并輸出全部課程信息

String與StringBufferString:為不可變對(duì)象,一旦被創(chuàng)建,就不能修改它的值。對(duì)于已經(jīng)存在的String對(duì)象的修改都是重新創(chuàng)建一個(gè)新的對(duì)象,然后把新的值保存進(jìn)去。耗內(nèi)存,效率低其聲明方式:

Strings=“hello”;或Strings=newString(“hello”);StringBuffer:是一個(gè)可變對(duì)象,當(dāng)對(duì)他進(jìn)行修改的時(shí)候不會(huì)重新建立對(duì)象只能通過(guò)構(gòu)造函數(shù)來(lái)建立,即聲明方式只能是:

StringBuffersb=newStringBuffer(“hello”);不能通過(guò)賦值符號(hào)對(duì)他進(jìn)行賦值。如sb=“welcometohere!”;是錯(cuò)誤的。向StringBuffer中追加字符串使用它的append方法:sb.append();StringBuilder類J2se5.0提供了java.lang.StringBuilder類,一個(gè)可變的字符序列。此類提供一個(gè)與StringBuffer兼容的API,但不保證同步。該類被設(shè)計(jì)用作StringBuffer的一個(gè)簡(jiǎn)易替換,用在字符串緩沖區(qū)被單個(gè)線程使用的時(shí)候(這種情況很普遍)。如果可能,建議優(yōu)先采用該類,因?yàn)樵诖蠖鄶?shù)實(shí)現(xiàn)中,它比StringBuffer要快。在StringBuilder上的主要操作是append和insert方法,重載這些方法,以接受任意類型的數(shù)據(jù)。每個(gè)方法都能有效地將給定的數(shù)據(jù)轉(zhuǎn)換成字符串,然后將該字符串的字符追加或插入到字符串生成器中。append方法始終將這些字符添加到生成器的末端;而insert方法則在指定的點(diǎn)添加字符。常用方法:查閱和使用API文檔/三個(gè)表示字符串類的區(qū)別:JAVA中提供了專門處理字符串的三個(gè)標(biāo)準(zhǔn)的類,分別是String類、StringBuffer類、StringBuilder類。那么它們?nèi)咧g有什么區(qū)別呢?String類表示的是不可改變的字符串,只有通過(guò)不斷創(chuàng)建新的對(duì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論