![Java面向對象程序設計案例教程課件:數(shù)組與字符串_第1頁](http://file4.renrendoc.com/view8/M02/23/26/wKhkGWce02SAXuGxAABmgsXsLK0083.jpg)
![Java面向對象程序設計案例教程課件:數(shù)組與字符串_第2頁](http://file4.renrendoc.com/view8/M02/23/26/wKhkGWce02SAXuGxAABmgsXsLK00832.jpg)
![Java面向對象程序設計案例教程課件:數(shù)組與字符串_第3頁](http://file4.renrendoc.com/view8/M02/23/26/wKhkGWce02SAXuGxAABmgsXsLK00833.jpg)
![Java面向對象程序設計案例教程課件:數(shù)組與字符串_第4頁](http://file4.renrendoc.com/view8/M02/23/26/wKhkGWce02SAXuGxAABmgsXsLK00834.jpg)
![Java面向對象程序設計案例教程課件:數(shù)組與字符串_第5頁](http://file4.renrendoc.com/view8/M02/23/26/wKhkGWce02SAXuGxAABmgsXsLK00835.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
數(shù)組與字符串本章目標一維數(shù)組二維數(shù)組數(shù)組的應用字符串的應用23.1一維數(shù)組3.1.1一維數(shù)組的聲明一維數(shù)組的聲明格式有兩種,分別是:
數(shù)據(jù)類型[]數(shù)組名;數(shù)據(jù)類型數(shù)組名[];例如:int[]scores;//定義存儲分數(shù)的數(shù)組,類型為整型
doubleheight[];//定義存儲身高的數(shù)組,類型為浮點型
String[]names;//定義存儲姓名的數(shù)組,類型為字符串。3.1一維數(shù)組3.1.2一維數(shù)組的創(chuàng)建初始化方法:
使用關鍵字new為數(shù)組分配存儲空間格式如下:
類型標識符數(shù)組名[]=new類型標識符[數(shù)組長度];
類型標識符[]數(shù)組名=new類型標識符[數(shù)組長度];例如: int[]scores=newint[5]; Stringnames[]=newString[3];3.1一維數(shù)組3.1.2一維數(shù)組的創(chuàng)建初始化方法:
通常也可以采用如下方式為數(shù)組元素賦初值并由初值的個數(shù)確定數(shù)組的大?。?intarray[]={1,2,3,4,5}; Stringhobbys[]={"music","sports","game"};3.1一維數(shù)組3.1.3一維數(shù)組的訪問訪問格式:在對數(shù)組元素創(chuàng)建后,就可以通過數(shù)組的下標來訪問數(shù)組元素,格式為:
數(shù)組名[下標]可以對賦值后的數(shù)組元素進行操作和處理,如獲取并輸出數(shù)組中元素的值:int[]scores={95,93,80,86,79}System.out.print("scores數(shù)組中第1個元素的值:"+scores[0]);注意:數(shù)組下標從0開始。3.1一維數(shù)組3.1.3一維數(shù)組的訪問循環(huán)打印輸出數(shù)組中的數(shù)字:
3.2二維數(shù)組3.2.1二維數(shù)組的聲明二維數(shù)組的聲明和一維數(shù)組基本相同,只是多一對[]。二維數(shù)組的聲明格式有三種,分別是:
數(shù)據(jù)類型[][]數(shù)組名;
數(shù)據(jù)類型數(shù)組名[][];
數(shù)據(jù)類型[]數(shù)組名[];例如: int[][]array1; doublearray2[][]; char[]array3[];3.2二維數(shù)組3.2.2二維數(shù)組的創(chuàng)建分配空間
二維數(shù)組的創(chuàng)建格式為:
數(shù)據(jù)類型[][]數(shù)組名;
數(shù)組名=new數(shù)據(jù)類型[行的個數(shù)][列的個數(shù)];
或者:
數(shù)據(jù)類型[][]數(shù)組名=new數(shù)據(jù)類型[行的個數(shù)][列的個數(shù)];
例如:int[][]number=newint[2][3];//定義一個2行3列的二維數(shù)組numberchar[][]array=newchar[3][5]//定義一個3行5列的二維數(shù)組array3.2二維數(shù)組3.2.2二維數(shù)組的創(chuàng)建賦值二維數(shù)組的賦值,和一維數(shù)組類似,可以通過下標來逐個賦值,索引從0開始。格式如下:
數(shù)組名[行的索引][列的索引]=值;例如:
int[][]number=newint[2][3]; number[0][0]=11; number[0][1]=32; number[0][2]=15; ……3.2二維數(shù)組3.2.2二維數(shù)組的創(chuàng)建賦值也可以在聲明數(shù)組的同時直接賦值。格式如下:
數(shù)值類型[][]數(shù)組名={{值1,值2…},{值11,值22…},{值21,值22…}};例如: int[][]number={{1,2,3},{4,5,6}};
3.2二維數(shù)組3.2.3二維數(shù)組的訪問在循環(huán)輸出時,需要用二重循環(huán)來輸出二維數(shù)組中的每一個元素。例如:定義一個三行兩列的數(shù)組,并循環(huán)打印輸出數(shù)組中的每一個元素。3.3數(shù)組的應用【例3-4】獲取數(shù)組的最大值和最小值。publicclassTest{ publicstaticvoidmain(String[]args){ int[]arr={12,45,28,62,39}; intmax=getMax(arr); System.out.println("最大值為:"+max); intmin=getMin(arr); System.out.println("最小值為:"+min); }3.3數(shù)組的應用【例3-4】獲取數(shù)組的最大值和最小值。//獲取數(shù)組的最大值
publicstaticintgetMax(inta[]){ intmax=a[0]; for(inti=0;i<a.length;i++){ if(a[i]>max){ max=a[i]; } } returnmax; }3.3數(shù)組的應用【例3-4】獲取數(shù)組的最大值和最小值。//獲取數(shù)組的最小值
publicstaticintgetMin(inta[]){ intmin=a[0]; for(inti=0;i<a.length;i++){ if(a[i]<min){ min=a[i]; } } returnmin; }}3.3數(shù)組的應用【例3-4】獲取數(shù)組的最大值和最小值。程序運行結果如圖所示。3.3數(shù)組的應用【例3-5】實現(xiàn)冒泡排序算法冒泡排序是一種經(jīng)典的交換排序算法,通過交換數(shù)據(jù)元素的位置進行排序。算法思想:
從后向前或者從前向后兩兩比較相鄰元素的值,如果兩者的相對次序不對(A[i-1]>A[i]),則交換它們,其結果是將最(大)小的元素交換到待排序序列的第一個位置,我們稱它為一趟冒泡。下一趟冒泡時,前一趟確定的最(大)小元素不再參與比較,待排序序列減少一個元素,每趟冒泡的結果把序列中最(大)小的元素放到了序列的”最前面”。3.3數(shù)組的應用【例3-5】實現(xiàn)冒泡排序算法publicclassTest{ publicstaticvoidmain(String[]args){ int[]arr={6,4,8,2,9}; System.out.print("冒泡排序前:");
printArray(arr);//打印數(shù)組元素
bubbleSort(arr);//調(diào)用排序方法
System.out.print("冒泡排序后:");
printArray(arr);//打印數(shù)組元素
}3.3數(shù)組的應用【例3-5】實現(xiàn)冒泡排序算法//定義打印數(shù)組方法
publicstaticvoidprintArray(int[]arr){ //循環(huán)遍歷數(shù)組的元素
for(inti=0;i<arr.length;i++){ System.out.print(arr[i]+"");//打印元素和空格
} System.out.print("\n"); }3.3數(shù)組的應用【例3-5】實現(xiàn)冒泡排序算法//定義對數(shù)組排序的方法
publicstaticvoidbubbleSort(int[]arr){ //定義外層循環(huán)
for(inti=0;i<arr.length-1;i++){ //定義內(nèi)層循環(huán)
for(intj=0;j<arr.length-i-1;j++){//比較相鄰元素 if(arr[j]<arr[j+1]){
3.3數(shù)組的應用【例3-5】實現(xiàn)冒泡排序算法//下面的三行代碼用于交換兩個元素
inttemp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } System.out.print("第"+(i+1)+"輪排序后:"); printArray(arr);//每輪比較結束打印數(shù)組元素
} }}3.3數(shù)組的應用程序運行結果如圖所示。【例3-5】實現(xiàn)冒泡排序算法3.4字符串的應用3.4.1
String類構造字符串對象String類提供了如下一些常用的構造函數(shù)來構造字符串對象。(1)String()構造一個空的字符串對象。(2)String(charchars[]):以字符數(shù)組chars的內(nèi)容構造一個字符串對象。(3)String(charchars[],intstartIndex,intnumChars)以字符數(shù)組chars中從startIndex位置開始的numChars個字符構造一個字符串對象。(4)String(byte[]bytes):以字節(jié)數(shù)組bytes的內(nèi)容構造一個字符串對象。(5)String(byte[]bytes,intoffset,intlength):以字節(jié)數(shù)組bytes中從offset位置開始的length個字節(jié)構造一個字符串對象。3.4字符串的應用3.4.1
String類String類對象的常用方法String類也提供了眾多的方法用于操作字符串,以下列出一些常用的方法。(1)publicintlength():返回字符串的字符個數(shù)。publiccharcharAt(intindex):返回字符串中index位置上的字符,其中index值的范圍是0~length-1。(3)publicintindexOf(charch)返回字符ch在字符串中第一次出現(xiàn)的位置。(4)publiclastIndexOf(charch)返回字符ch在字符串中最后一次出現(xiàn)的位置。(5)publicintindexOf(Stringstr)返回子串str在字符串中第一次出現(xiàn)的位置。(6)publicintlastIndexOf(Stringstr)返回子串str在字符串中最后一次出現(xiàn)的位置。3.4字符串的應用3.4.1
String類String類對象的常用方法(7)publicStringsubstring(intbeginIndex):返回字符串中從beginIndex位置開始的子串。(8)publicStringsubstring(intbeginIndex,intendIndex):返回字符串中從beginIndex位置開始到endIndex位置(不包括該位置)結束的子串。(9)publicStringcontact(Stringstr):將當前字符串與給定字符串str連接起來。(10)publicStringreplace(charoldChar,charnewChar):把串中所有由oldChar指定的字符替換成由newChar指定的字符以生成新串。(11)publicStringtoLowerCase():把串中所有的字符變成小寫且返回新串。(12)publicStringtoUpperCase():把串中所有的字符變成大寫且返回新串。(13)publicStringtrim():去掉串中前導空格和拖尾空格且返回新串。3.4字符串的應用3.4.1
String類String類的使用
詳見書62頁例題3-6。3.4字符串的應用3.4.1
StringBuffer類創(chuàng)建StringBuffer類對象StringBuffer類常用的構造方法如下。(1)StringBuffer():用于創(chuàng)建一個空的StringBuffer類對象。(2)StringBuffer(intlength):以length指定的長度創(chuàng)建StringBuffer類對象。(3)StringBuffer(Stringstr):用指定的字符串初始化創(chuàng)建StringBuffer類對象。3.4字符串的應用3.4.1
StringBuffer類StringBuffer類對象的常用方法1)插入字符串方法insert()insert()方法是一個重載方法,用于在字符串緩沖區(qū)中指定的位置插入給定的字符串。它有如下形式。insert(intindex,類型參量名):可以在字符串緩沖區(qū)中index指定的位置處插入各種數(shù)據(jù)類型的數(shù)據(jù)(如int、double、boolean、char、float、long、String、Object等)。insert(intindex,char[]str,intoffset,intlen):可以在字符串緩沖區(qū)中index指定的位置處插入字符數(shù)組中從下標offset處開始的len個字符。3.4字符串的應用3.4.1
StringBuffer類StringBuffer類對象的常用方法2)刪除字符串方法StringBuffer類提供了如下常用的刪除字符串方法。(1)delete(intstart,intend):用于刪除字符串緩沖區(qū)中從start位置開始到end-1位置結束的子串。(2)deleteCharAt(intindex):用于刪除字符串緩沖區(qū)中index位置處的字符。3)添加字符串方法append()(1)append(數(shù)據(jù)類型參量名):可以向字符串緩沖區(qū)添加各種數(shù)據(jù)類型的數(shù)據(jù)(如int、double、boolean、char、float、long、String、Object等)。3.4字符串的應用3.4.1
StringBuffer類StringBuffer類對象的常用方法(2)append(char[]str,intoffset,intlen):將字符數(shù)組str中從offset指定的下標位置開始的len個字符添加到字符串緩沖區(qū)
溫馨提示
- 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年度私人房屋全款交易買賣合同(科技園區(qū))
- 2025年度解除租賃合同終止協(xié)議執(zhí)行起訴狀
- 2025年度高空吊裝作業(yè)安全生產(chǎn)責任保險合同
- 二零二五年度同居關系解除協(xié)議書及共同財產(chǎn)清算合同
- 2025年度戶外用品銷售員業(yè)績考核合同
- 二零二五年度臨時工聘用與員工關懷計劃合同
- 五年級上冊數(shù)學聽評課記錄《第7單元:第1課時 在一條線段上植樹》人教新課標
- 蘇科版數(shù)學八年級上冊聽評課記錄《5-2平面直角坐標系(2)》
- 人教部編版歷史八年級下冊:第4課《工業(yè)化的起步和人民代表大會制度的確立》聽課評課記錄2
- 北師大版歷史八年級下冊第4課《走向國際舞臺》聽課評課記錄1
- 云南省普通初中學生成長記錄模板-好ok
- SB/T 10415-2007雞粉調(diào)味料
- JB/T 20036-2016提取濃縮罐
- 考古繪圖基礎
- GB/T 3452.4-2020液壓氣動用O形橡膠密封圈第4部分:抗擠壓環(huán)(擋環(huán))
- GB/T 32574-2016抽水蓄能電站檢修導則
- 《社會主義市場經(jīng)濟理論(第三版)》第十三章社會主義市場經(jīng)濟標準論
- 變更索賠案例分析
- 2022年4月自學考試06093《人力資源開發(fā)與管理》歷年真題及答案
- 《花婆婆》兒童繪本故事
- DB44∕T 2149-2018 森林資源規(guī)劃設計調(diào)查技術規(guī)程
評論
0/150
提交評論