![Java面向對象程序設計案例教程課件:數組與字符串_第1頁](http://file4.renrendoc.com/view8/M02/23/26/wKhkGWce02SAXuGxAABmgsXsLK0083.jpg)
![Java面向對象程序設計案例教程課件:數組與字符串_第2頁](http://file4.renrendoc.com/view8/M02/23/26/wKhkGWce02SAXuGxAABmgsXsLK00832.jpg)
![Java面向對象程序設計案例教程課件:數組與字符串_第3頁](http://file4.renrendoc.com/view8/M02/23/26/wKhkGWce02SAXuGxAABmgsXsLK00833.jpg)
![Java面向對象程序設計案例教程課件:數組與字符串_第4頁](http://file4.renrendoc.com/view8/M02/23/26/wKhkGWce02SAXuGxAABmgsXsLK00834.jpg)
![Java面向對象程序設計案例教程課件:數組與字符串_第5頁](http://file4.renrendoc.com/view8/M02/23/26/wKhkGWce02SAXuGxAABmgsXsLK00835.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數組與字符串本章目標一維數組二維數組數組的應用字符串的應用23.1一維數組3.1.1一維數組的聲明一維數組的聲明格式有兩種,分別是:
數據類型[]數組名;數據類型數組名[];例如:int[]scores;//定義存儲分數的數組,類型為整型
doubleheight[];//定義存儲身高的數組,類型為浮點型
String[]names;//定義存儲姓名的數組,類型為字符串。3.1一維數組3.1.2一維數組的創(chuàng)建初始化方法:
使用關鍵字new為數組分配存儲空間格式如下:
類型標識符數組名[]=new類型標識符[數組長度];
類型標識符[]數組名=new類型標識符[數組長度];例如: int[]scores=newint[5]; Stringnames[]=newString[3];3.1一維數組3.1.2一維數組的創(chuàng)建初始化方法:
通常也可以采用如下方式為數組元素賦初值并由初值的個數確定數組的大?。?intarray[]={1,2,3,4,5}; Stringhobbys[]={"music","sports","game"};3.1一維數組3.1.3一維數組的訪問訪問格式:在對數組元素創(chuàng)建后,就可以通過數組的下標來訪問數組元素,格式為:
數組名[下標]可以對賦值后的數組元素進行操作和處理,如獲取并輸出數組中元素的值:int[]scores={95,93,80,86,79}System.out.print("scores數組中第1個元素的值:"+scores[0]);注意:數組下標從0開始。3.1一維數組3.1.3一維數組的訪問循環(huán)打印輸出數組中的數字:
3.2二維數組3.2.1二維數組的聲明二維數組的聲明和一維數組基本相同,只是多一對[]。二維數組的聲明格式有三種,分別是:
數據類型[][]數組名;
數據類型數組名[][];
數據類型[]數組名[];例如: int[][]array1; doublearray2[][]; char[]array3[];3.2二維數組3.2.2二維數組的創(chuàng)建分配空間
二維數組的創(chuàng)建格式為:
數據類型[][]數組名;
數組名=new數據類型[行的個數][列的個數];
或者:
數據類型[][]數組名=new數據類型[行的個數][列的個數];
例如:int[][]number=newint[2][3];//定義一個2行3列的二維數組numberchar[][]array=newchar[3][5]//定義一個3行5列的二維數組array3.2二維數組3.2.2二維數組的創(chuàng)建賦值二維數組的賦值,和一維數組類似,可以通過下標來逐個賦值,索引從0開始。格式如下:
數組名[行的索引][列的索引]=值;例如:
int[][]number=newint[2][3]; number[0][0]=11; number[0][1]=32; number[0][2]=15; ……3.2二維數組3.2.2二維數組的創(chuàng)建賦值也可以在聲明數組的同時直接賦值。格式如下:
數值類型[][]數組名={{值1,值2…},{值11,值22…},{值21,值22…}};例如: int[][]number={{1,2,3},{4,5,6}};
3.2二維數組3.2.3二維數組的訪問在循環(huán)輸出時,需要用二重循環(huán)來輸出二維數組中的每一個元素。例如:定義一個三行兩列的數組,并循環(huán)打印輸出數組中的每一個元素。3.3數組的應用【例3-4】獲取數組的最大值和最小值。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數組的應用【例3-4】獲取數組的最大值和最小值。//獲取數組的最大值
publicstaticintgetMax(inta[]){ intmax=a[0]; for(inti=0;i<a.length;i++){ if(a[i]>max){ max=a[i]; } } returnmax; }3.3數組的應用【例3-4】獲取數組的最大值和最小值。//獲取數組的最小值
publicstaticintgetMin(inta[]){ intmin=a[0]; for(inti=0;i<a.length;i++){ if(a[i]<min){ min=a[i]; } } returnmin; }}3.3數組的應用【例3-4】獲取數組的最大值和最小值。程序運行結果如圖所示。3.3數組的應用【例3-5】實現冒泡排序算法冒泡排序是一種經典的交換排序算法,通過交換數據元素的位置進行排序。算法思想:
從后向前或者從前向后兩兩比較相鄰元素的值,如果兩者的相對次序不對(A[i-1]>A[i]),則交換它們,其結果是將最(大)小的元素交換到待排序序列的第一個位置,我們稱它為一趟冒泡。下一趟冒泡時,前一趟確定的最(大)小元素不再參與比較,待排序序列減少一個元素,每趟冒泡的結果把序列中最(大)小的元素放到了序列的”最前面”。3.3數組的應用【例3-5】實現冒泡排序算法publicclassTest{ publicstaticvoidmain(String[]args){ int[]arr={6,4,8,2,9}; System.out.print("冒泡排序前:");
printArray(arr);//打印數組元素
bubbleSort(arr);//調用排序方法
System.out.print("冒泡排序后:");
printArray(arr);//打印數組元素
}3.3數組的應用【例3-5】實現冒泡排序算法//定義打印數組方法
publicstaticvoidprintArray(int[]arr){ //循環(huán)遍歷數組的元素
for(inti=0;i<arr.length;i++){ System.out.print(arr[i]+"");//打印元素和空格
} System.out.print("\n"); }3.3數組的應用【例3-5】實現冒泡排序算法//定義對數組排序的方法
publicstaticvoidbubbleSort(int[]arr){ //定義外層循環(huán)
for(inti=0;i<arr.length-1;i++){ //定義內層循環(huán)
for(intj=0;j<arr.length-i-1;j++){//比較相鄰元素 if(arr[j]<arr[j+1]){
3.3數組的應用【例3-5】實現冒泡排序算法//下面的三行代碼用于交換兩個元素
inttemp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } System.out.print("第"+(i+1)+"輪排序后:"); printArray(arr);//每輪比較結束打印數組元素
} }}3.3數組的應用程序運行結果如圖所示?!纠?-5】實現冒泡排序算法3.4字符串的應用3.4.1
String類構造字符串對象String類提供了如下一些常用的構造函數來構造字符串對象。(1)String()構造一個空的字符串對象。(2)String(charchars[]):以字符數組chars的內容構造一個字符串對象。(3)String(charchars[],intstartIndex,intnumChars)以字符數組chars中從startIndex位置開始的numChars個字符構造一個字符串對象。(4)String(byte[]bytes):以字節(jié)數組bytes的內容構造一個字符串對象。(5)String(byte[]bytes,intoffset,intlength):以字節(jié)數組bytes中從offset位置開始的length個字節(jié)構造一個字符串對象。3.4字符串的應用3.4.1
String類String類對象的常用方法String類也提供了眾多的方法用于操作字符串,以下列出一些常用的方法。(1)publicintlength():返回字符串的字符個數。publiccharcharAt(intindex):返回字符串中index位置上的字符,其中index值的范圍是0~length-1。(3)publicintindexOf(charch)返回字符ch在字符串中第一次出現的位置。(4)publiclastIndexOf(charch)返回字符ch在字符串中最后一次出現的位置。(5)publicintindexOf(Stringstr)返回子串str在字符串中第一次出現的位置。(6)publicintlastIndexOf(Stringstr)返回子串str在字符串中最后一次出現的位置。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指定的位置處插入各種數據類型的數據(如int、double、boolean、char、float、long、String、Object等)。insert(intindex,char[]str,intoffset,intlen):可以在字符串緩沖區(qū)中index指定的位置處插入字符數組中從下標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(數據類型參量名):可以向字符串緩沖區(qū)添加各種數據類型的數據(如int、double、boolean、char、float、long、String、Object等)。3.4字符串的應用3.4.1
StringBuffer類StringBuffer類對象的常用方法(2)append(char[]str,intoffset,intlen):將字符數組str中從offset指定的下標位置開始的len個字符添加到字符串緩沖區(qū)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023八年級數學上冊 第13章 全等三角形13.2三角形全等的判定 4角邊角說課稿 (新版)華東師大版
- 2024年四年級品社下冊《怎樣到達目的地》說課稿2 蘇教版
- 2025鋼質門小型鋼結構制作及安裝合同
- 2025個人電路出租合同書
- 2025公司經理勞動合同
- 道路邊坡加固維修施工方案
- 交通圍欄銷售合同范本
- 農業(yè)營銷合作合同范本
- 保溫鋼結構合同范本
- Sara's Medicine(說課稿)-2023-2024學年麗聲北極星分級繪本四年級上(江蘇版)
- 2025年高考作文備考:議論文寫作的論證手法
- 2024年可行性研究報告投資估算及財務分析全套計算表格(含附表-帶只更改標紅部分-操作簡單)
- 2024年廣州市黃埔區(qū)數學六上期末綜合測試模擬試題含解析
- 數獨6宮格300試題
- 24年注安-管理的題
- 2024至2030年中國心理咨詢行業(yè)市場預測與投資規(guī)劃分析報告
- 國際貿易地理 全套課件
- 廣西2024年高考物理模擬試卷及答案1
- GB/T 20878-2024不銹鋼牌號及化學成分
- 某房屋建筑工程監(jiān)理大綱
- 英語考綱詞匯表3500詞
評論
0/150
提交評論