




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)組與字符串本章目標(biāo)一維數(shù)組二維數(shù)組數(shù)組的應(yīng)用字符串的應(yīng)用23.1一維數(shù)組3.1.1一維數(shù)組的聲明一維數(shù)組的聲明格式有兩種,分別是:
數(shù)據(jù)類型[]數(shù)組名;數(shù)據(jù)類型數(shù)組名[];例如:int[]scores;//定義存儲(chǔ)分?jǐn)?shù)的數(shù)組,類型為整型
doubleheight[];//定義存儲(chǔ)身高的數(shù)組,類型為浮點(diǎn)型
String[]names;//定義存儲(chǔ)姓名的數(shù)組,類型為字符串。3.1一維數(shù)組3.1.2一維數(shù)組的創(chuàng)建初始化方法:
使用關(guān)鍵字new為數(shù)組分配存儲(chǔ)空間格式如下:
類型標(biāo)識(shí)符數(shù)組名[]=new類型標(biāo)識(shí)符[數(shù)組長(zhǎng)度];
類型標(biāo)識(shí)符[]數(shù)組名=new類型標(biāo)識(shí)符[數(shù)組長(zhǎng)度];例如: int[]scores=newint[5]; Stringnames[]=newString[3];3.1一維數(shù)組3.1.2一維數(shù)組的創(chuàng)建初始化方法:
通常也可以采用如下方式為數(shù)組元素賦初值并由初值的個(gè)數(shù)確定數(shù)組的大小: intarray[]={1,2,3,4,5}; Stringhobbys[]={"music","sports","game"};3.1一維數(shù)組3.1.3一維數(shù)組的訪問訪問格式:在對(duì)數(shù)組元素創(chuàng)建后,就可以通過數(shù)組的下標(biāo)來訪問數(shù)組元素,格式為:
數(shù)組名[下標(biāo)]可以對(duì)賦值后的數(shù)組元素進(jìn)行操作和處理,如獲取并輸出數(shù)組中元素的值:int[]scores={95,93,80,86,79}System.out.print("scores數(shù)組中第1個(gè)元素的值:"+scores[0]);注意:數(shù)組下標(biāo)從0開始。3.1一維數(shù)組3.1.3一維數(shù)組的訪問循環(huán)打印輸出數(shù)組中的數(shù)字:
3.2二維數(shù)組3.2.1二維數(shù)組的聲明二維數(shù)組的聲明和一維數(shù)組基本相同,只是多一對(duì)[]。二維數(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ù)類型[行的個(gè)數(shù)][列的個(gè)數(shù)];
或者:
數(shù)據(jù)類型[][]數(shù)組名=new數(shù)據(jù)類型[行的個(gè)數(shù)][列的個(gè)數(shù)];
例如:int[][]number=newint[2][3];//定義一個(gè)2行3列的二維數(shù)組numberchar[][]array=newchar[3][5]//定義一個(gè)3行5列的二維數(shù)組array3.2二維數(shù)組3.2.2二維數(shù)組的創(chuàng)建賦值二維數(shù)組的賦值,和一維數(shù)組類似,可以通過下標(biāo)來逐個(gè)賦值,索引從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ù)值類型[][]數(shù)組名={{值1,值2…},{值11,值22…},{值21,值22…}};例如: int[][]number={{1,2,3},{4,5,6}};
3.2二維數(shù)組3.2.3二維數(shù)組的訪問在循環(huán)輸出時(shí),需要用二重循環(huán)來輸出二維數(shù)組中的每一個(gè)元素。例如:定義一個(gè)三行兩列的數(shù)組,并循環(huán)打印輸出數(shù)組中的每一個(gè)元素。3.3數(shù)組的應(yīng)用【例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ù)組的應(yīng)用【例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ù)組的應(yīng)用【例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ù)組的應(yīng)用【例3-4】獲取數(shù)組的最大值和最小值。程序運(yùn)行結(jié)果如圖所示。3.3數(shù)組的應(yīng)用【例3-5】實(shí)現(xiàn)冒泡排序算法冒泡排序是一種經(jīng)典的交換排序算法,通過交換數(shù)據(jù)元素的位置進(jìn)行排序。算法思想:
從后向前或者從前向后兩兩比較相鄰元素的值,如果兩者的相對(duì)次序不對(duì)(A[i-1]>A[i]),則交換它們,其結(jié)果是將最(大)小的元素交換到待排序序列的第一個(gè)位置,我們稱它為一趟冒泡。下一趟冒泡時(shí),前一趟確定的最(大)小元素不再參與比較,待排序序列減少一個(gè)元素,每趟冒泡的結(jié)果把序列中最(大)小的元素放到了序列的”最前面”。3.3數(shù)組的應(yīng)用【例3-5】實(shí)現(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ù)組的應(yīng)用【例3-5】實(shí)現(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ù)組的應(yīng)用【例3-5】實(shí)現(xiàn)冒泡排序算法//定義對(duì)數(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ù)組的應(yīng)用【例3-5】實(shí)現(xiàn)冒泡排序算法//下面的三行代碼用于交換兩個(gè)元素
inttemp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } System.out.print("第"+(i+1)+"輪排序后:"); printArray(arr);//每輪比較結(jié)束打印數(shù)組元素
} }}3.3數(shù)組的應(yīng)用程序運(yùn)行結(jié)果如圖所示?!纠?-5】實(shí)現(xiàn)冒泡排序算法3.4字符串的應(yīng)用3.4.1
String類構(gòu)造字符串對(duì)象String類提供了如下一些常用的構(gòu)造函數(shù)來構(gòu)造字符串對(duì)象。(1)String()構(gòu)造一個(gè)空的字符串對(duì)象。(2)String(charchars[]):以字符數(shù)組chars的內(nèi)容構(gòu)造一個(gè)字符串對(duì)象。(3)String(charchars[],intstartIndex,intnumChars)以字符數(shù)組chars中從startIndex位置開始的numChars個(gè)字符構(gòu)造一個(gè)字符串對(duì)象。(4)String(byte[]bytes):以字節(jié)數(shù)組bytes的內(nèi)容構(gòu)造一個(gè)字符串對(duì)象。(5)String(byte[]bytes,intoffset,intlength):以字節(jié)數(shù)組bytes中從offset位置開始的length個(gè)字節(jié)構(gòu)造一個(gè)字符串對(duì)象。3.4字符串的應(yīng)用3.4.1
String類String類對(duì)象的常用方法String類也提供了眾多的方法用于操作字符串,以下列出一些常用的方法。(1)publicintlength():返回字符串的字符個(gè)數(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字符串的應(yīng)用3.4.1
String類String類對(duì)象的常用方法(7)publicStringsubstring(intbeginIndex):返回字符串中從beginIndex位置開始的子串。(8)publicStringsubstring(intbeginIndex,intendIndex):返回字符串中從beginIndex位置開始到endIndex位置(不包括該位置)結(jié)束的子串。(9)publicStringcontact(Stringstr):將當(dāng)前字符串與給定字符串str連接起來。(10)publicStringreplace(charoldChar,charnewChar):把串中所有由oldChar指定的字符替換成由newChar指定的字符以生成新串。(11)publicStringtoLowerCase():把串中所有的字符變成小寫且返回新串。(12)publicStringtoUpperCase():把串中所有的字符變成大寫且返回新串。(13)publicStringtrim():去掉串中前導(dǎo)空格和拖尾空格且返回新串。3.4字符串的應(yīng)用3.4.1
String類String類的使用
詳見書62頁例題3-6。3.4字符串的應(yīng)用3.4.1
StringBuffer類創(chuàng)建StringBuffer類對(duì)象StringBuffer類常用的構(gòu)造方法如下。(1)StringBuffer():用于創(chuàng)建一個(gè)空的StringBuffer類對(duì)象。(2)StringBuffer(intlength):以length指定的長(zhǎng)度創(chuàng)建StringBuffer類對(duì)象。(3)StringBuffer(Stringstr):用指定的字符串初始化創(chuàng)建StringBuffer類對(duì)象。3.4字符串的應(yīng)用3.4.1
StringBuffer類StringBuffer類對(duì)象的常用方法1)插入字符串方法insert()insert()方法是一個(gè)重載方法,用于在字符串緩沖區(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ù)組中從下標(biāo)offset處開始的len個(gè)字符。3.4字符串的應(yīng)用3.4.1
StringBuffer類StringBuffer類對(duì)象的常用方法2)刪除字符串方法StringBuffer類提供了如下常用的刪除字符串方法。(1)delete(intstart,intend):用于刪除字符串緩沖區(qū)中從start位置開始到end-1位置結(jié)束的子串。(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字符串的應(yīng)用3.4.1
StringBuffer類StringBuffer類對(duì)象的常用方法(2)append(char[]str,intoffset,intlen):將字符數(shù)組str中從offset指定的下標(biāo)位置開始的len個(gè)字符添加到字符串緩沖區(qū)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025水庫建設(shè)施工合同范本
- 2025【合同范本】私營企業(yè)勞動(dòng)合同模板
- 2025專利權(quán)許可使用合同范本
- 2025采購咨詢服務(wù)合同范本
- 2025設(shè)備轉(zhuǎn)讓協(xié)議書買賣合同
- 2025年青海貨運(yùn)叢業(yè)資格證考試題目及答案
- 連云港職業(yè)技術(shù)學(xué)院《房屋建筑學(xué)實(shí)訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海電力大學(xué)《國際工程合同管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧大連甘井子區(qū)育文中學(xué)2024-2025學(xué)年初三下學(xué)期二調(diào)考試語文試題含解析
- 江西高安中學(xué)2025屆高三5月綜合質(zhì)量檢測(cè)試題物理試題含解析
- 中國話劇史(本二·下)第二講課件
- 義務(wù)兵家庭優(yōu)待金審核登記表
- GA 255-2022警服長(zhǎng)袖制式襯衣
- GB/T 5202-2008輻射防護(hù)儀器α、β和α/β(β能量大于60keV)污染測(cè)量?jī)x與監(jiān)測(cè)儀
- GB/T 39560.4-2021電子電氣產(chǎn)品中某些物質(zhì)的測(cè)定第4部分:CV-AAS、CV-AFS、ICP-OES和ICP-MS測(cè)定聚合物、金屬和電子件中的汞
- GB/T 3452.4-2020液壓氣動(dòng)用O形橡膠密封圈第4部分:抗擠壓環(huán)(擋環(huán))
- 計(jì)劃生育協(xié)會(huì)基礎(chǔ)知識(shí)課件
- 【教材解讀】語篇研讀-Sailing the oceans
- 抗腫瘤藥物過敏反應(yīng)和過敏性休克
- 排水管道非開挖預(yù)防性修復(fù)可行性研究報(bào)告
- 交通工程基礎(chǔ)習(xí)習(xí)題及參考答案
評(píng)論
0/150
提交評(píng)論