版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數(shù)組與字符串學習目標掌握數(shù)組的創(chuàng)建與使用方法。掌握字符串類及其常用的操作方法。案例引入——排序案例說明
在實際生活中,我們會經(jīng)常按照某一條件對事物進行排序,例如:學生按身高高低排隊,學生成績的排名等。那么在編程中,我們利用程序怎樣實現(xiàn)排序呢?在程序中,可以首先把這些要排序的數(shù)據(jù)存放到一個數(shù)組中,再利用循環(huán)來遍歷數(shù)組中的每個元素來判斷其大小。本案例編輯、編譯運行后將把一組數(shù)據(jù)按從小到大的順序輸出顯示出來,通過這個程序,我們來了解Java中數(shù)組的應用以及字符串的相關知識。案例分析
要完成本案例程序,首先要使用文本編輯器編輯源程序,定義一個數(shù)組并初始化數(shù)組變量,然后循環(huán)判斷數(shù)組中的每個元素值,根據(jù)判斷結果將兩個數(shù)字的位置進行對調,最終實現(xiàn)這一數(shù)組中的元素按照從小到大的順序重新排列,并輸出排序后的數(shù)組內容。最后完成程序的編譯和運行。6.2知識準備6.2.1一維數(shù)組數(shù)組的聲明方式和一般變量的聲明方式類似,需要聲明數(shù)組變量名和其數(shù)據(jù)類型,并用[]與一般的變量相區(qū)別。Java中聲明一維數(shù)組的格式為:typearrayName[];或type[]arrayName;例:intintArray[];一維數(shù)組的聲明
要創(chuàng)建數(shù)組,為其分配內存空間,與創(chuàng)建Java的其他對象一樣,應使用new運算符,其格式如下:arrayName=newtype[arraySize];通常,可以將數(shù)組的聲明和創(chuàng)建合并為一條語句,即在數(shù)組聲明的同時用new運算符為數(shù)組分配內存空間。其格式如下:typearrayName=newtype[arraySize];
例:doubledArray=newdouble[8];一維數(shù)組的內存分配6.2.1一維數(shù)組
(1)在聲明數(shù)組的同時進行初始化。例如:inta[]={1,2,3,4,5};
(2)在聲明并創(chuàng)建數(shù)組后,為每個元素分別賦值來對數(shù)組進行初始化。例如:inta[]=newint[5];a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;一維數(shù)組的初始化
當定義了一個數(shù)組,并為它分配了內存空間后,就可以引用數(shù)組中的每一個元素了。數(shù)組元素的引用方式如下:arrayName[index]此外,由于數(shù)組在Java語言中是作為一個對象來處理的,故每個數(shù)組都有一個length屬性,其值為數(shù)組的長度,可以通過“數(shù)組名.length”的形式引用。例如,a.length指明數(shù)組a的長度。
一維數(shù)組的引用【例】編寫程序測試數(shù)組,程序輸出結果如圖所示。源程序代碼如下:6.2.2二維數(shù)組
在Java語言中,二維數(shù)組可以看成是一個一維數(shù)組的數(shù)組,其中一維數(shù)組的每一個元素又是一個一維數(shù)組。而更高維的數(shù)組也可以由此類推。二維數(shù)組的定義與一維數(shù)組的定義非常類似,只是在一維數(shù)組的基礎上再加上一對“[]”,其定義格式如下:typearrayName[][];或type[][]arrayName定義方式typearrayName[][]=newtype[arraySize1][arraySize2];內存分配和初始化
arrayName[index1][index2]
其中,index1和index2分別是數(shù)組元素的下標,每一維的下標都從0開始,最大值等于每一維的長度減1。引用6.2.3ArrayList類ArrayList類的使用方法ArryList實現(xiàn)了可變大小的數(shù)組,即是動態(tài)數(shù)組。ArrayListList=newArrayList();for(inti=0;i<10;i++)//給數(shù)組增加10個int元素
List.Add(i);……//程序做一些處理
List.RemoveAt(5);//將第6個元素移除
for(inti=0;i<3;i++)//再增加3個元素
List.Add(i+20);Int32[]values=(Int32[])List.ToArray(typeof(Int32));ArrayList類的幾個重要方法和屬性默認的構造器,將會以默認(16)的大小來初始化內部的數(shù)組。用一個ICollection對象來構造,并將該集合的元素添加到ArrayList。用指定的大小來初始化內部的數(shù)組。publicArrayList();publicArrayList(ICollection);publicArrayList(int);構造器ArrayList類的幾個重要方法和屬性Count屬性是目前ArrayList類包含的元素的數(shù)量,這個屬性是只讀的。
Capacity屬性是目前ArrayList類能夠包含的最大數(shù)量,可以手動設置這個屬性,但是當設置為小于Count值時會引發(fā)一個異常。Count屬性和Capacity屬性
ArrayList類的幾個重要方法和屬性(1)Add方法用于添加一個元素到當前列表的末尾。(2)AddRange方法用于添加一批元素到當前列表的末尾。(3)Remove方法用于刪除一個元素,通過元素本身的引用來刪除。(4)RemoveAt方法用于刪除一個元素,通過索引值來刪除。(5)RemoveRange方法用于刪除一批元素,通過指定開始的索引和刪除的數(shù)量來刪除。(6)Insert方法用于添加一個元素到指定位置,列表后面的元素依次往后移動。(7)InsertRange方法用于從指定位置開始添加一批元素,列表后面的元素依次往后面移動。ArrayList類的幾個重要方法和屬性方法一:ArrayListList=newArrayList();List.Add(1);List.Add(2);List.Add(3);Int32[]values=(Int32[])List.ToArray(typeof(Int32));ArrayList類與數(shù)組轉換
方法二:ArrayListList=newArrayList();List.Add(1);List.Add(2);List.Add(3);Int32[]values=newInt32[List.Count];List.CopyTo(values);6.2.4String類String是比較特殊的數(shù)據(jù)類型,它不屬于基本數(shù)據(jù)類型,但是可以和使用基本數(shù)據(jù)類型一樣直接賦值,不使用new運算符進行實例化。也可以像其他類型一樣使用new運算符進行實例化。下面的代碼都是合法的:Strings1=“abc”;Strings2=newString(“abc”);String對象的初始化6.2.4String類(1)publicintlength()方法
該方法的作用是返回字符串的長度,也就是返回字符串中字符的個數(shù)。中文字符也是一個字符。(2)publiccharAt(intindex)方法
該方法的作用是按照索引值index(index取值范圍從0到length()-1),獲得字符串中的指定字符。(3)publicintcompareTo(StringanotherString)方法
該方法的作用是比較兩個字符串的大小,比較的原理是依次比較每個字符的字符編碼。首先比較兩個字符串的第一個字符,如果第一個字符串的字符編碼大于第二個的字符串的字符編碼,則返回大于0的值,如果小于則返回小于0的值,如果相等則比較后續(xù)的字符,如果兩個字符串中的字符編碼完全相同則返回0。String類的常用方法6.2.4String類
(5)publicbooleanstartsWith(Stringprefix)方法和publicbooleanendsWith(Stringsuffix)方法startsWith方法:該方法的作用是判斷字符串是否以某個字符串作為開始,如果以對應的字符串開始,則返回true。endsWith方法:該方法的作用是判斷字符串是否以某個字符串結尾,如果以對應的字符串結尾,則返回true。
(6)publicbooleanequals(Objecto)方法
該方法的作用是判斷兩個字符串對象的內容是否相同。如果相同則返回true,否則返回false。
(7)publicintindexOf()方法
該方法的作用是查找特定字符或字符串在當前字符串中的起始位置,如果不存在則返回-1。String類的常用方法6.2.4String類
(8)publicStringreplace(charc1,charc2)方法和publicStringreplaceAll(Strings1,Strings2)方法replace方法的作用是替換字符串中所有指定的字符,然后生成一個新的字符串。經(jīng)過該方法調用以后,原來的字符串不發(fā)生改變。
(9)publicStringsubstring(intbeginIndex)方法和publicStringsubstring(intbeginIndex,intendIndex)方法substring方法的作用是取字符串中的“子串”,所謂“子串”即字符串中的一部分。
(10)publicStringtoLowerCase()方法和publicStringtoUpperCase()方法toLowerCase方法的作用是將字符串中所有大寫字符都轉換為小寫。toUpperCase方法的作用是將字符串中的小寫字符轉換為對應的大寫字符。String類的常用方法6.2.4String類
(11)publicStringtrim()方法
該方法的作用是去掉字符串開始和結尾的所有空格,然后形成一個新的字符串。該方法不去掉字符串中間的空格。(12)publicstaticStringvalueOf()方法
該方法的作用是將其它類型的數(shù)據(jù)轉換為字符串類型,其參數(shù)可以是任何數(shù)據(jù)類型(byte類型除外)。需要注意的是,基本數(shù)據(jù)和字符串對象之間不能使用以前的強制類型轉換的語法進行轉換。String類的常用方法6.2.5StringBuffer類
StringBuffer類和String類一樣也用來代表字符串,只是由于StringBuffer的內部實現(xiàn)方式和String不同,所以StringBuffer在進行字符串處理時,不生成新的對象,在內存使用上要優(yōu)于String類。StringBuffer對象的初始化StringBuffer對象的初始化不像String類的初始化一樣,Java提供的有特殊的語法,而通常情況下一般使用構造方法進行初始化。StringBuffers=newStringBuffer();StringBuffers=newStringBuffer(“abc”);StringBuffers=newStringBuffer(10);6.2.5StringBuffer類StringBuffer的常用方法
(1)publicStringBufferappend(booleanb)方法
該方法的作用是追加內容到當前StringBuffer對象的末尾,類似于字符串的連接。
(2)publicStringBufferdeleteCharAt(intindex)方法
該方法的作用是刪除指定位置的字符,然后將剩余的內容形成新的字符串。
(3)publicStringBufferinsert(intoffset,booleanb)方法
該方法的作用是在StringBuffer對象中插入內容,然后形成新的字符串。6.2.5StringBuffer類StringBuffer的常用方法
(4)publicStringBufferreverse()方法
該方法的作用是將StringBuffer對象中的內容反轉,然后形成新的字符串。
(5)publicvoidsetCharAt(intindex,charch)方法
該方法的作用是修改對象中索引值為index位置的字符為新的字符ch。
(6)publicStringBufferreplace(intstart,intend,Stringstr)方法
該方法的作用是將StringBuffer對象中的內容從start位置開始,到end結束的字符串以str代替。6.2.6StringTokenizer類StringTokenizer的初始化StringTokenizer類有兩個常用構造方法:StringTokenizer(Strings):為字符串s構造一個分析器。StringTokenizer(Strings,Stringdelim):為字符串s構造一個分析器。參數(shù)delim中的字符被作為分隔符。6.2.6StringTokenizer類StringTokenizer的常用方法
(1)countTokens(),返回StringTokenizer類包含的元素個數(shù)。
(2)hasMoreElements(),判斷是否還有更多元素。
(3)hasMoreTokens(),判斷是否還有更多元素。
(4)nextElement(),返回StringTokenizer類的下一個元素。
(5)nextToken(),返回StringTokenizer類的下一個元素。6.3案例實施6.3.1編寫源代碼6.3.2編譯源代碼6.3.3運行程序6.4訓練與實戰(zhàn)訓練內容楊輝三角形有以下特點:每行的元素個數(shù)等于該行的行號,即第n行有n個元素;且第1行只有一個元素1;從第2行開始每行的第1個和最后一個元素為1,每行的第n個元素是上一行第n-1個元素和第n個元素的和。訓練目的輸出楊輝三角形的前4行。6.4.1楊輝三角形6.4.1楊輝三角形訓練過程
1.編寫源代碼Yang.java
2.編譯和運行程序在命令提示符窗口下,將路徑切換到D:\project\ch06,然后輸入:javacYang.java編譯完成后,輸入:javaYang按回車鍵6.4.2身份證號碼中的秘密訓練內容一個身份證號碼中包含著本人所在地區(qū)、出生日期等重要信息。在開發(fā)一個軟件的過程中,要從身份證號碼中取出一個人的生日信息。訓練過程
1.編寫源代碼2.編譯和運行程序在命令提示符窗口下,將路徑切換到D:\project\ch06,然后輸入:javacTes
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保項目貸款居間合同
- 購物中心建設居間合同模板
- 機器人產(chǎn)業(yè)項目投資合同
- 港口碼頭投資與經(jīng)營管理合同
- 工程項目管理中的資源優(yōu)化配置考核試卷
- 勘探設備在地質遺跡保護中的技術支持考核試卷
- 農業(yè)減排增匯措施考核試卷
- 建筑石材在商業(yè)步行街的設計創(chuàng)意考核試卷
- 批發(fā)市場的家用視聽設備行業(yè)政策影響考核試卷
- 兒童音樂啟蒙教育考核試卷
- 2025年護士資格考試必考基礎知識復習題庫及答案(共250題)
- 2025年人教版PEP二年級英語上冊階段測試試卷
- 煙草業(yè)產(chǎn)業(yè)鏈協(xié)同創(chuàng)新模式-洞察分析
- 公文寫作與常見病例分析
- 2025年國家電投集團有限公司招聘筆試參考題庫含答案解析
- 經(jīng)濟學基礎試題及答案 (二)
- 2024-2030年中國蠔肉市場發(fā)展前景調研及投資戰(zhàn)略分析報告
- GB 19053-2024殯儀場所致病菌安全限值
- 煙草局合同范例
- AutoCAD2024簡明教程資料
- 小學語文人教四年級上冊第四單元群文閱讀“神話故事之人物形象”PPT
評論
0/150
提交評論