ACCP5.0Java編程邏輯第9章.ppt_第1頁
ACCP5.0Java編程邏輯第9章.ppt_第2頁
ACCP5.0Java編程邏輯第9章.ppt_第3頁
ACCP5.0Java編程邏輯第9章.ppt_第4頁
ACCP5.0Java編程邏輯第9章.ppt_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第九章,字符串,回顧,閱讀下面代碼,哪個有錯誤?說明理由 填代碼:逆序輸出數(shù)組中的元素,double a = new double ;,double a = new double51,2,3,4,5,;,double a = 1,2,3,4,5;,int a = new int 1,2,3,4,5; for (_; _; _ ) System.out.println(ai); ,int i = a.length -1,i = 0,i- -,預習檢查,如何定義一個字符串? 使用什么方法可以獲得字符串的長度? 如何定義一個StringBuffer類的對象?,本章任務,升級Java應用程序“HelloAccp”: 實現(xiàn)學員注冊密碼驗證 打印學員成績單 實現(xiàn)文件名和郵箱ID的合法性驗證,掌握String的基本用法 如何定義、初始化字符串 如何訪問字符串長度 如何比較、連接、提取字符串 會使用帶參數(shù)的方法 會使用StringBuffer類的方法對字符串進行操作,本章目標,無處不在的字符串,生活中的字符串 使用String對象存儲字符串 String類位于java.lang包中,具有豐富的方法 計算字符串的長度 連接字符串 比較字符串 提取字符串,頻繁使用的字符串,“有志者事竟成 ”,“離奧運會開幕還有380天”,“教育改變生活”,String s = “有志者事竟成“;,String s = new String(“有志者事竟成“);,字符串長度2-1,package s1java.sg.chap9; import java.util.*; public class HelloAccp1 public static void main(String args) System.out.print(“請隨機輸入你想到的名字: “); Scanner input = new Scanner(System.in); String name = input.next(); System.out.println(“這個名字的長度是: “ “ + name.length()+ “ “); ,隨機輸入你心中想到的一個名字,然后輸出它的字符串長度,調用字符串的length()方法可以獲得字符串的長度,要想打印輸出引號(”),必須在字符串中使用轉義序列”,演示示例1:演示計算字符串的長度,字符串長度2-2,計算字符串長度,字符串,長度,調用length() 方法獲得,返回字符串中的字符數(shù),調用方法:,字符串標識符.length();,方法原型:,public int length() ,字符串比較4-1,兩個學員輸入各自最喜歡的課程名稱,判斷是否一致,/判斷課程名稱是否相同 if(favCourse1.equals(favCourse2) System.out.println(“最喜歡的課程相同“); else System.out.println(“最喜歡的課程不相同“); ,比較兩個字符串是否相等,演示示例2:演示比較字符串,字符串比較4-2,equals()方法比較原理 輸入的“Java”和“java”代表同一課程,如何解決? 使用equalsIgnoreCase()方法 結合toUpperCase()或toLowerCase(),字符串 1,字符串 2,檢查組成字符串內容的字符是否完全一致,字符串比較4-3,使用equalsIgnoreCase()方法解決,比較時忽略大小寫形式,if(favCourse1.equalsIgnoreCase(favCourse2) System.out.println(“最喜歡的課程相同“); else System.out.println(“最喜歡的課程不相同“); ,字符串比較4-4,結合toUpperCase()方法解決,Java,使用 toUpperCase( ) 方法,JAVA,Java,使用 toLowerCase( ) 方法,java,if(favCourse1.toUpperCase().equals(favCourse2.toUpperCase() System.out.println(“最喜歡的課程相同“); else System.out.println(“最喜歡的課程不相同“); ,小結1,學員進行入學注冊,輸入兩次密碼,如果相同,提示注冊成功,如果不相同,提示重新輸入密碼,選用哪個方法更合適?,參考代碼,字符串連接2-1,令狐沖的Java成績如表所示,輸出他的成績單,public static void main(String args) int sqlScore = 80; /sql成績 int javaScore = 90; /java成績 double htmlScore = 86.7; /html成績 /創(chuàng)建成績單 String scoreSheet = “SQL:“ + sqlScore + “ Java:“ + javaScore + “ HTML:“ + htmlScore; /打印成績單 System.out.println(“*令狐沖成績單*“); System.out.println(scoreSheet); ,“+”連接字符串,String scoreSheet = “SQL:t“ + sqlScore + “nJava:t“ + javaScore + “nHTML:t“ + htmlScore;,演示示例3:演示連接字符串輸出成績單,數(shù)值型變量自動轉換成String類型,字符串連接2-2,方法1:使用“+” 方法2:使用String類的concat()方法,你好,張三!,String s = new String(“你好,“); String name = new String(“張三!“); String sentence = s.concat(name); System.out.println(sentence);,輸出結果,A.concat(B): B字符串將被連接到A字符串后面,字符串常用提取方法4-1,使用作業(yè)提交系統(tǒng)提交Java作業(yè),輸入java源代碼文件名,并輸入自己的郵箱,提交前對Java文件名以及郵箱有效性進行檢查。編碼實現(xiàn),合法的文件名應該以.java結尾 合法的郵箱名中至少要包含“”和“.”, 并檢查“”是否在“.”之前,字符串常用提取方法4-2,常用提取方法舉例,返回出現(xiàn)第一個匹配的位置, 如果沒有找到字符或字符串,則返回-1,0 1 2 3,位置,演示示例4:演示常用字符串提取方法,字符串常用提取方法4-3,beginindex: 字符串的位置從0開始算;endindex: 字符串的位置從1開始算,字符串常用提取方法4-4,/檢查Java文件名 int index = fileName.lastIndexOf(“.“); if(index!=-1 ,/檢查你的郵箱格式 if (email.indexOf() !=- 1 ,完整代碼演示,演示示例5:演示作業(yè)提交系統(tǒng),作業(yè)提交系統(tǒng),小結2,如果要打印輸出“小魚兒”,應填入的代碼是什么?,String word = “Hello, “; word = word.trim(); String s = word.concat(“小魚兒!“); int index1 = s.indexOf(,); int index2 = s.indexOf(!); System.out.println(s.substring(_, _);,index1+1,index2,帶參數(shù)的方法就在身邊,public String concat (String str) public int indexOf (String value) public String substring (int index) 方法實施時需要接收某個值進行處理,返回值類型,方法名,參數(shù),為什么要用帶參數(shù)的方法,工作原理,新鮮桃汁,新鮮蘋果汁,新鮮梨汁,輸出三種果汁,如何使用帶參數(shù)的方法,定義帶參數(shù)的方法 調用帶參數(shù)的方法,public class Zhazhi /定義帶參數(shù)的zhazhi方法 public String zhazhi ( String fruit ) String juice = fruit + “汁“; return juice; ,/*調用zhazhi方法*/ Zhazhi myZhazhi = new Zhazhi(); String myFruit = “蘋果“; String myJuice = myZhazhi.zhazhi(myFruit); System.out.println(myJuice);,參數(shù)列表: (數(shù)據類型 參數(shù)1,數(shù)據類型 參數(shù)2),調用方法,傳遞的參數(shù)要與參數(shù)列表一一對應,完整代碼演示,完整代碼演示,演示示例6:演示運行效果,帶參數(shù)的方法應用2-1,輸入學期代碼,輸出該學期的課程信息,if (courseCode.equalsIgnoreCase(“s1“) System.out.println(“第一學期的課程是:“); for(int i = 0; i s1Course.length; i+) System.out.println(s1Coursei); else if (courseCode.equalsIgnoreCase(“s2“) System.out.println(“第二學期的課程是:“); for(int i = 0; i s2Course.length; i+) System.out.println(s2Coursei); else if (courseCode.equalsIgnoreCase(“y2“) System.out.println(“第三學期的課程是:“); for(int i = 0; i y2Course.length; i+) System.out.println(y2Coursei); ,重復代碼: 實現(xiàn)相同的功能“根據不同的課程代號輸出相應課程信息”,使用方法可以增加代碼重用,完整代碼演示,帶參數(shù)的方法應用2-2,更高效的代碼,public class AccpSchool public void courseInfo(int courseCode, String course) System.out.println(courseCode + “的課程是:“); for(int i = 0; i course.length; i+) System.out.println(coursei); ,定義AccpSchool類的帶參方法:輸出課程信息,AccpShool school = new AccpSchool(); school.courseInfo(courseCode, s1);,調用courseInfo方法,并傳入相應的課程代號和課程信息數(shù)組,完整代碼演示,演示示例7:使用斷點跟蹤演示帶參數(shù)的方法調用過程,小結3,實現(xiàn)MP3播放器:1)播放錄入的音樂名稱 2)外放正在播放的歌曲,完整代碼,StringBuffer,StringBuffer:String增強版 StringBuffer聲明 StringBuffer的使用,StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer(“aaa“);,創(chuàng)建空字符串,創(chuàng)建一個變量存儲字符串aaa,sb.toString(); /轉化為String類型,sb.append(“*“); /追加字符串,StringBuffer的用武之地,/聲明課程信息字符串 StringBuffer course = new StringBuffer(); System.out.println(“請輸入S1課程信息: “); Scanner sc = new Scanner(System.in); /循環(huán)從鍵盤接收字符串 String input; while(!(input = sc.next().equals(“#“) course.append(input); course.append(“n“); System.out.println(“s1的課程信息是:“ + course);,定義StringBuffer的實例,存儲課程字符串,循環(huán)追加字符,使用StringBuffer,效率高!,從控制臺接收課程信息,不斷累加直到輸入“#”鍵結束,并輸出全部課程信息,完整代碼演示,Java語言特點總結,簡單易學 豐富且功能強大的類庫(Java Doc我們的法寶) java.lang.

溫馨提示

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

評論

0/150

提交評論