![第10章 數(shù)組和字符串.ppt_第1頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/18/e3c10766-818f-47ab-a4e1-1460bbadb30d/e3c10766-818f-47ab-a4e1-1460bbadb30d1.gif)
![第10章 數(shù)組和字符串.ppt_第2頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/18/e3c10766-818f-47ab-a4e1-1460bbadb30d/e3c10766-818f-47ab-a4e1-1460bbadb30d2.gif)
![第10章 數(shù)組和字符串.ppt_第3頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/18/e3c10766-818f-47ab-a4e1-1460bbadb30d/e3c10766-818f-47ab-a4e1-1460bbadb30d3.gif)
![第10章 數(shù)組和字符串.ppt_第4頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/18/e3c10766-818f-47ab-a4e1-1460bbadb30d/e3c10766-818f-47ab-a4e1-1460bbadb30d4.gif)
![第10章 數(shù)組和字符串.ppt_第5頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/18/e3c10766-818f-47ab-a4e1-1460bbadb30d/e3c10766-818f-47ab-a4e1-1460bbadb30d5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第10章數(shù)組和字符串,本章的要點(diǎn):數(shù)組的初始化數(shù)組的復(fù)制命令行參數(shù)StringBuffer類(lèi)StringTokenizer類(lèi)分析字符串Character類(lèi)字符串和字符,字節(jié)數(shù)組,10.1數(shù)組,10.1.1數(shù)組例如,以下形式為整數(shù)序列a: int a; 或int a; 兩種形式都可以接受,請(qǐng)讀者根據(jù)個(gè)人喜好進(jìn)行選擇,但習(xí)慣上有采用第一種形式的傾向。 此外,據(jù)我們修訂的學(xué)生班級(jí),要宣布學(xué)生班級(jí)的排列,Student aStudent; 或者持久;持久; (1)聲明整數(shù)陣列a的類(lèi)型是int型,這意味著整數(shù)陣列a的各個(gè)元素是int型,并且其它類(lèi)型不會(huì)出現(xiàn)。 如果聲明為字符串類(lèi)型,則數(shù)組中的每個(gè)元素都是
2、字符串類(lèi)型。 (2)聲明一個(gè)數(shù)組就像聲明其他任意類(lèi)型的變量一樣,也必須指定數(shù)組的類(lèi)型。 數(shù)組類(lèi)型是數(shù)組中每個(gè)元素的類(lèi)型。 有兩種方法可以初始化10.1.2數(shù)組的初始化數(shù)組:隱式初始化和顯式初始化。 1 .隱式初始化用戶可以使用關(guān)鍵字new實(shí)現(xiàn),就像實(shí)例化對(duì)象一樣。 例如,初始化整數(shù)數(shù)組a: int a=new int100; 或者int a=new int100; 初始化學(xué)生類(lèi)的數(shù)組Student aStudent=new Student50。 或者Student aStudent=new Student50; 這兩種形式分別是整數(shù)數(shù)組a的容量為100,學(xué)生數(shù)組aStudent的容量為50,也
3、就是說(shuō),數(shù)組內(nèi)最大的要素?cái)?shù)分別為100和50,只能容納100和50個(gè)要素。 2 .顯式初始化顯式初始化是指在聲明一個(gè)數(shù)組時(shí)直接代入數(shù)組。 聲明包含5個(gè)元素的整數(shù)數(shù)組b時(shí): intb=1、2、3、4、5注:在該初始化方式中,既沒(méi)有指定關(guān)鍵字new,也沒(méi)有指定數(shù)組元素的數(shù)量。 但是,陣列元素的數(shù)量會(huì)自動(dòng)進(jìn)行修正,創(chuàng)建固定容量的陣列。 有時(shí)需要求出數(shù)組容量的大小。 在這種情況下,有特別的方法。 例如,要求整數(shù)數(shù)組b的容量,請(qǐng)采用格式b.length。 /注意這不是方法的調(diào)用,length后面沒(méi)有括號(hào)。 要知道學(xué)生類(lèi)數(shù)組的大小,請(qǐng)選擇aStudent.length; 用這種方法得到的數(shù)值是整數(shù)型的數(shù)值
4、,可以像intstudentnumber=a student.length那樣聲明并接收整數(shù)型的變量。 10.1.3匿名數(shù)組有一種稱為匿名數(shù)組的形式。 聲明一個(gè)名稱,即未命名的數(shù)組或數(shù)組,但與數(shù)組變量沒(méi)有關(guān)聯(lián)。 例如newint10、20、30、40、50; 根據(jù)以前的說(shuō)明,由于所有操作對(duì)象都是通過(guò)對(duì)象句柄進(jìn)行操作的,所以聲明匿名數(shù)組如何有用呢?聲明匿名數(shù)組的目的是將新的匿名數(shù)組分配給現(xiàn)有的數(shù)組變量,而不是重新生成新的數(shù)組變量例如: intarray=1、2、3; 陣列=新十、二十、三十、四十、五十; 這完全可能。 如果重新生成新數(shù)組而不考慮原始數(shù)組的大小,使現(xiàn)有數(shù)組變量指向新數(shù)組對(duì)象,則會(huì)自
5、動(dòng)校正新數(shù)組對(duì)象的長(zhǎng)度(容量)。 用簡(jiǎn)單的步驟測(cè)試一下吧。例10-2程序列表ArrayTest.java /* *在此程序中,* 1.可以將現(xiàn)有數(shù)組變量分配給匿名數(shù)組。* 2.數(shù)組變量的類(lèi)型必須與匿名數(shù)組的類(lèi)型相匹配。*/publicclassarraytestpublicstaticvoidmain (字符串陣列)陣列測(cè)試實(shí)例=1、2、3; /聲明新數(shù)組,并將新數(shù)組變量aTest.print(a )代入a=newint10、20、30、40、50; /整數(shù)型匿名數(shù)組代入和存在的數(shù)組變量a /a=new String a,b; /字符類(lèi)型匿名數(shù)組賦值和存在的數(shù)組變量a aTest.print(
6、a ); 公共語(yǔ)音打印(intarray ) system.out.println (數(shù)組變量的長(zhǎng)度為array.length ); System.out.println (數(shù)組中的每個(gè)元素為: ); for (英寸=0; I陣列長(zhǎng)度; I )系統(tǒng)打印(陣列); 打印數(shù)組中的每個(gè)元素system.out.println (n )。 10.1.4數(shù)組的副本具有與Java公共庫(kù)相對(duì)應(yīng)的Arrays類(lèi),因?yàn)閿?shù)組本身是對(duì)象類(lèi)型。 當(dāng)數(shù)組變量傳遞給另一個(gè)數(shù)組變量時(shí),它按對(duì)象句柄(即地址)傳遞。 例如: inta=1、2、3、4、5; 英寸=a; 訪問(wèn)a4指5,訪問(wèn)b4指5。 例如10-3程序列表Arra
7、yPointer.java /* *測(cè)試數(shù)組元素傳輸方法*/publicclassarraypointerpublicstaticvoidmain (字符串a(chǎn)rgs ) args inta=1、2、3、4 System.out.println (打印數(shù)組a的元素。 ); 打印(a ); 英寸=a; System.out.println(n更改數(shù)組b中第三個(gè)元素的值。 n ); System.out.println (打印數(shù)組b的元素。 ); b2=a2 10; a指點(diǎn)打印(b ); System.out.println (重新打印數(shù)組a中的元素。 ); 打印機(jī)(a ); 公共語(yǔ)音打印(inti
8、=0)。 I陣列長(zhǎng)度; I )系統(tǒng)打印(陣列); 打印數(shù)組中的每個(gè)元素system.out.println (n )。 例如10-4程序列表ArrayCopy.java /* *測(cè)試數(shù)組元素副本*/publicclassarraycopypublicstaticvoidmain (字符串a(chǎn)rgs ) arraycopps inta=1、2、3、4 intb=10、20、30、40、50; 復(fù)制(a,b ); 公共語(yǔ)音復(fù)制(從,到)系統(tǒng). out.println (第一個(gè)數(shù)組的元素):for (從,到=0; 從長(zhǎng)度;從長(zhǎng)度; I )系統(tǒng)打印(幀); /數(shù)組中的每個(gè)元素,System.out.pr
9、intln(n ); System.out.println第一個(gè)數(shù)組的元素) for (int i=0; 英語(yǔ)長(zhǎng)度; I )系統(tǒng)打印(toi ); 打印/數(shù)組中的每個(gè)元素system.out.println (nn將第一個(gè)數(shù)組復(fù)制到第二個(gè)數(shù)組n )。 系統(tǒng)陣列(從、0、到、0、5 ); System.out.println (復(fù)制完成后的第二個(gè)數(shù)組的元素) for (int i=0; 英語(yǔ)長(zhǎng)度; I )系統(tǒng)打印(toi ); /打印數(shù)組中的每個(gè)元素,輸入10.1.5命令行參數(shù)示例10-5程序列表CommandInput.java /* *命令行參數(shù),從命令行輸入的任何參數(shù)對(duì)Java來(lái)說(shuō)都是字符
10、串。*/publicclasscommandinputpublicstaticvoidmain (字符串a(chǎn)rgs ) if (args.length=0) system.out.pr ring ); else System.out.println (用戶輸入了args.length個(gè)關(guān)殘奧參數(shù)); if (args0. equals (h ) ) system.out.print (用戶好):if (args0. equals (g ) ) system.out.print (再見(jiàn))。 for (英寸=1; 英雄傳說(shuō); I )系統(tǒng)打印(argsi ); 10.1.6數(shù)組排序示例10-6程序列表
11、ArraySort.java /* *數(shù)組排序和隨機(jī)數(shù)的產(chǎn)生*/import java.util.Arrays; 導(dǎo)入javax.swing.*; publicclassarraysortpublicstaticvoidmain (string args ) string strin=joptionpane.showinputdialog (請(qǐng)輸入多少個(gè)校正顏色球: ) string s int in=Integer.parseInt(strIn ); 英特爾總數(shù)=新英特爾; /彩球總數(shù)排列for(int i=0; I合金; I )總計(jì)=I 1; in tout=newintinteger.p
12、arseint (strout ); for (英寸=0; 長(zhǎng)度;長(zhǎng)度; I )英寸=(英寸) (匹配.隨機(jī)() *英寸)。 /生成隨機(jī)元素的序列號(hào)outi=totalr。 totalr=totalin - 1; /將最后一個(gè)元素移動(dòng)到當(dāng)前位置,檢索出刪除in-; arrays.sort (輸出); System.out.println (抽取的數(shù)值排序后為: ); for (英寸=0; 長(zhǎng)度;長(zhǎng)度; I )系統(tǒng)打印(輸出); System.exit(0); 10.2文本處理類(lèi)、文本處理是程序不可缺少的部分,如何有效地對(duì)程序進(jìn)行文本處理,對(duì)程序的性能有很大影響。 在Java中處理文本的主要應(yīng)用
13、程序類(lèi)是String類(lèi)和StringBuffer類(lèi)。 使用小文本時(shí),使用String類(lèi)確實(shí)很方便,但對(duì)于大文本,如果使用String類(lèi)會(huì)占用大量系統(tǒng)資源,則可以使用StringBuffer來(lái)實(shí)現(xiàn)。 10.2.1 String類(lèi)提到字符串,但我們不知道。 在上一個(gè)例子中被多次使用,用戶可以再看一次。 那么,什么是字符串?字符串是一系列字符的序列,如“用戶好”、“this is”等。 在Java中,字符串是用雙引號(hào)()括起來(lái)的字符串。 在其他語(yǔ)言中,字符串可能被視為基本類(lèi)型,但在Java中,字符串是對(duì)象,Java公共庫(kù)中有一個(gè)專門(mén)用于字符串的類(lèi),稱為String類(lèi)。 1. String類(lèi)分析打開(kāi)S
14、tring類(lèi)的API,在關(guān)于類(lèi)的說(shuō)明部分看到了第一句。 公共final類(lèi)字符串描述了關(guān)鍵字final。 這是將零件宣告為不變的東西。 現(xiàn)在,我們將String類(lèi)聲明為不變。 也就是說(shuō),String對(duì)象是常量字符串,一旦初始化或替換,該值和分配的內(nèi)存內(nèi)容就不能更改。 如果嘗試更改值,將生成一個(gè)新值字符串。 字符串str1=Java; str1=str1 good; 看起來(lái)像是簡(jiǎn)單的字符串重新分配,但實(shí)際上在程序解釋過(guò)程中并非如此。 程序首先生成str1的字符串對(duì)象并向內(nèi)存申請(qǐng)了空間,但由于需要重新分配,無(wú)法向原來(lái)的空間添加新的內(nèi)容。 系統(tǒng)必須丟棄該對(duì)象,然后重新生成第二個(gè)新對(duì)象str1以申請(qǐng)新的內(nèi)存空間。 句柄是一樣的,但對(duì)象已經(jīng)不一樣了。 2 .聲明字符串和實(shí)例化字符串很簡(jiǎn)單,只要在聲明類(lèi)型中添加變量名(對(duì)象句柄)即可。 例如,如果String str想要獲得字符串的實(shí)例,可以使用多種方法。 字符串類(lèi)API包含九個(gè)可用的字符串構(gòu)造函數(shù)。 這被稱為超載。 也就是說(shuō),字符串的實(shí)例來(lái)自這九個(gè)構(gòu)造函數(shù)。 例如: String str=new String (歡迎用戶,good ); String類(lèi)還有一些更簡(jiǎn)單的方法,無(wú)需構(gòu)建方法來(lái)獲取字符串實(shí)例。 也就是說(shuō),使用賦值運(yùn)算符(“=”)獲取。String str=歡迎
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇教版二年級(jí)下冊(cè)數(shù)學(xué)口算練習(xí)題
- 視頻會(huì)議系統(tǒng)合同范本
- 網(wǎng)絡(luò)布線及設(shè)備采購(gòu)合同范本
- 安全協(xié)議書(shū)范本及員工責(zé)任書(shū)
- 滬科版數(shù)學(xué)九年級(jí)上冊(cè)22.3《相似三角形的性質(zhì)》聽(tīng)評(píng)課記錄1
- 二零二五年度校園消毒防疫應(yīng)急預(yù)案合同
- 北師大版歷史七年級(jí)上冊(cè)第19課《北方的民族匯聚》聽(tīng)課評(píng)課記錄
- 2025年子女撫養(yǎng)權(quán)變更法律援助與協(xié)議書(shū)模板
- 2025年度醫(yī)療事故快速調(diào)解專項(xiàng)協(xié)議
- 二零二五年度倉(cāng)儲(chǔ)物流租賃合同電子版模板即點(diǎn)即用
- 無(wú)人機(jī)航拍技術(shù)理論考核試題題庫(kù)及答案
- T∕CMATB 9002-2021 兒童肉類(lèi)制品通用要求
- 工序勞務(wù)分包管理課件
- 暖通空調(diào)(陸亞俊編)課件
- 工藝評(píng)審報(bào)告
- 中國(guó)滑雪運(yùn)動(dòng)安全規(guī)范
- 畢業(yè)論文-基于51單片機(jī)的智能LED照明燈的設(shè)計(jì)
- 酒廠食品召回制度
- 中職數(shù)學(xué)基礎(chǔ)模塊上冊(cè)第一章《集合》單元檢測(cè)試習(xí)題及參考答案
- 化學(xué)魯科版必修一期末復(fù)習(xí)98頁(yè)P(yáng)PT課件
- 《農(nóng)產(chǎn)品質(zhì)量安全檢測(cè)》PPT課件
評(píng)論
0/150
提交評(píng)論