第九講 Java中的數(shù)組和字符串_第1頁(yè)
第九講 Java中的數(shù)組和字符串_第2頁(yè)
第九講 Java中的數(shù)組和字符串_第3頁(yè)
第九講 Java中的數(shù)組和字符串_第4頁(yè)
第九講 Java中的數(shù)組和字符串_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java語(yǔ)言程序設(shè)計(jì)第九講 Java中的數(shù)組和字符串Java中的數(shù)組“數(shù)組是相同類型的、用一個(gè)標(biāo)識(shí)符名稱封裝在一起的一個(gè)對(duì)象序列或基本類型數(shù)據(jù)序列。” 數(shù)組的基本認(rèn)識(shí)² 數(shù)組是一種引用數(shù)據(jù)類型,是對(duì)象,要先創(chuàng)建后存取。² 一個(gè)數(shù)組可存儲(chǔ)相關(guān)的、同一種數(shù)據(jù)類型的數(shù)據(jù)。其中元素可以是簡(jiǎn)單數(shù)據(jù)也可以是對(duì)象數(shù)據(jù)。²²數(shù)組的聲明和創(chuàng)建數(shù)組的聲明類型 數(shù)組名;如:int list; /也可以寫成int list;數(shù)組的創(chuàng)建數(shù)組名 = new 類型數(shù)組尺寸;如:int a= new int12;說(shuō)明:數(shù)組可以變界定義。楊佩理 yangplJava語(yǔ)言程序設(shè)計(jì)int n

2、=10;int d=new intn;數(shù)組名 = new類型元素1,元素2,元素n; 說(shuō)明: new類型可以省略。如:int a= 1, 2, 3, 4, 5;String daysOfWeek = "Monday", "Tuesday", "Wednesday","Thursday", "Friday", "Saturday", "Sunday"例程閱讀class TestArraypublic static void main(String args)

3、int a = 1, 2, 3, 4, 5;for(int i=0; i<a.length; i+)ai *= 2;System.out.print(ai + "t");結(jié)論:² 數(shù)組的下標(biāo)下界為0。² 對(duì)數(shù)組各元素的訪問通過循環(huán)進(jìn)行。數(shù)組初始化聲明和創(chuàng)建可以一起完成,這即為數(shù)組的初始化。(1) 可以在初始化時(shí),給數(shù)組元素直接賦值。int a = new int5;a = 1,2,3,4,5; 楊佩理 yangplJava語(yǔ)言程序設(shè)計(jì)(2) 數(shù)組元素的默認(rèn)值情況同對(duì)象的成員變量:數(shù)值型-0boolean-false對(duì)象-null(3) 如果沒進(jìn)行初

4、始化,則需要單個(gè)元素進(jìn)行輸入了。數(shù)組的使用對(duì)數(shù)組元素的訪問數(shù)組名index例:設(shè)計(jì)一個(gè)Fei類,數(shù)組f,可構(gòu)造菲波那契數(shù)列的前20項(xiàng)置入數(shù)組中,另含有輸出f數(shù)組的printFei方法。另設(shè)計(jì)一個(gè)Test類,利用Fei類輸出菲波那契數(shù)列的前20項(xiàng)。class Feiclass Testpublic static void main(String args)new Fei(20).printFei();數(shù)組名可以重指向數(shù)組名是數(shù)組對(duì)象的引用,數(shù)組名可以重定向,指向另一個(gè)數(shù)組。例:閱讀程序,分析程序運(yùn)行結(jié)果,理解數(shù)組名重定向的意義。class A public static void main(St

5、ring a) int b = 0,1; int c = 1,2,3,4; b = c; for(int i=0; i<b.length; i+) System.out.println(bi); 數(shù)組元素為對(duì)象當(dāng)數(shù)組元素是對(duì)象時(shí),每個(gè)數(shù)組元素都是對(duì)象引用。例:閱讀和分析程序,擴(kuò)展對(duì)數(shù)組的認(rèn)識(shí)。class Circle楊佩理 yangplJava語(yǔ)言程序設(shè)計(jì)double r;Circle(double r) this.r = r; double getS()return Math.round(Math.PI * r * r * 100)/100.; class Testpublic sta

6、tic void main(String aa)Circle cc=new Circle5;double a=1,2,2.5,3.5,6;for(int i=0;i<5;i+)cci=new Circle(ai);System.out.println(cci.r+"-"+cci.getS();練習(xí):設(shè)計(jì)一個(gè)Add類,包含一組加數(shù)和被加數(shù),并可通過startTest方法開始進(jìn)行加法測(cè)試,通過check方法進(jìn)行判斷,將錯(cuò)誤的加式和糾正后的加式同時(shí)列出,并可統(tǒng)計(jì)對(duì)題數(shù)。用給定的TestAdd類可產(chǎn)生類似如下圖的結(jié)果形式,其中左圖為全對(duì)的情況,右圖為有錯(cuò)式的情況。說(shuō)明:可對(duì)上

7、題進(jìn)行擴(kuò)展,如允許在創(chuàng)建Add對(duì)象時(shí)給定加數(shù)和被加數(shù)的范圍,楊佩理 yangplJava語(yǔ)言程序設(shè)計(jì)若沒給出范圍,缺省為100以內(nèi)的整數(shù)。數(shù)組的復(fù)制和排序數(shù)組的復(fù)制直接由System類的靜態(tài)方法arrayCopy來(lái)實(shí)現(xiàn)。如:class CopyArrayTestpublic static void main(String args)int a = 11, 2, 9, 7, 5;int b = new int6;System.arraycopy(a, 2, b, 1, 3); /數(shù)組復(fù)制for(int i=0; i<b.length; i+)System.out.print(bi+&quo

8、t; ");數(shù)組的排序方法:Arrays.sort(數(shù)組名)其中Arrays類在java.util包中。Page 245 實(shí)訓(xùn)九(數(shù)組部分)String和StringBuffer字符串² 字符串是有序的字符序列。如”Hello”² 字符串常量以雙引號(hào)為起止符。² 字符串可通過length()方法測(cè)得串長(zhǎng)。如:int len = ”a try”.length();楊佩理 yangplString字符串 構(gòu)造字符串實(shí)例對(duì)象的方法² 直接賦字符串值。 如:String s=”java”;² new String(參數(shù)列表)。 如:Strin

9、g s1=new String();String s2=new String(“java”);字符串池² 所有的字符串實(shí)例對(duì)象都在一個(gè)“字符串池”中。 ² 字符串變量是指向字符串對(duì)象的引用。² 字符串常量也是字符串實(shí)例對(duì)象的一個(gè)引用。常用的字符串相關(guān)方法² 對(duì)字符串內(nèi)字符的訪問public char charAt(int index)從調(diào)用方法的字符串對(duì)象中返回序數(shù)為index的字符。class TestStringpublic static void main(String aa)String s = "Hello world"fo

10、r(int i=6; i<s.length(); i+)System.out.print(s.charAt(i)+" ");System.out.println();楊佩理 yangplJava語(yǔ)言程序設(shè)計(jì)² 字符串比較n equal方法public boolean equals(String anotherString) 作用:比較兩個(gè)字符串值是否相等。class TestEqualpublic static void main(String aa)String s1 = new String("abc");String s2 = ne

11、w String("abc");if(s1.equals(s2)System.out.println("equal");else System.out.println("not equal");n =作用:比較兩個(gè)字符串對(duì)象是否為同一個(gè)。class TestEqualpublic static void main(String aa)String s1 = new String("abc");String s2 = new String("abc");if(s1=s2) System.out.p

12、rintln("equal");else System.out.println("not equal");n compareTo方法public int compareTo(String anotherString)作用:比較兩個(gè)字符串的值大小如:String aa=”abc”,bb=”ABC”;pareTo(bb)其值為正,aa大于bb;其值為負(fù),aa小于bb;其值為零,aa等于bb例:分析程序運(yùn)行結(jié)果class StringTestpublic static void main(String aa)String s1 = new String(&qu

13、ot;a try");String s2 = "a try"String s3 = s1;楊佩理 yangplJava語(yǔ)言程序設(shè)計(jì)System.out.println(s1=s2); System.out.println(s2=s3); System.out.println(s1=s3); System.out.println(s1.equals(s2); System.out.println(s2.equals(s3); System.out.println(s3.equals(s1); System.out.println(pareTo(s2); System

14、.out.println(pareTo(s3); System.out.println(pareTo(s1);楊佩理 yangplJava語(yǔ)言程序設(shè)計(jì)StringBuffer字符串String對(duì)象一經(jīng)創(chuàng)建,不能對(duì)其內(nèi)容修改。消耗資源。StringBuffer對(duì)象是可變的字符串,可用于創(chuàng)建和操作動(dòng)態(tài)字符串信息。為該對(duì)象分配的內(nèi)存會(huì)自動(dòng)擴(kuò)展以容納新增的文本。例程閱讀class StringBufferEditTestpublic static void main(String args)StringBuffer s = new StringBuffer("Hello");s.a

15、ppend("n");s.append("How are you?");System.out.println(s);StringBuffer對(duì)象創(chuàng)建有三種方法:使用初始化字符串、設(shè)定大小以及使用默認(rèn)構(gòu)造函數(shù): new StringBuffer(String s);new StringBuffer(int size);new StringBuffer();/用默認(rèn)的構(gòu)造方法時(shí)默認(rèn)容量為16個(gè)字符。StringBuffer類的常用方法(1) 轉(zhuǎn)換成Stringpublic void toString()楊佩理 yangplJava語(yǔ)言程序設(shè)計(jì)(2) 添加數(shù)據(jù)

16、到對(duì)象public void append()在字符串末尾追加數(shù)據(jù)(有多個(gè)重載版本)public void insert(int offset,插入數(shù)據(jù))在字符串指定位置插入數(shù)據(jù)(有多個(gè)重載版本)。(3) 刪除和替代public void delete(int start, int end)刪除指定位置上的子字符串。public void replace(int start, int end,String s)以指定字符串替換指定位置上的字符。返回字符或子字符串位置的方法public int indexOf(int ch)public int lastIndexOf(int ch)public

17、 int indexOf(String s)public int lastIndexOf(String s)例:用StringBuffer,按程序運(yùn)行結(jié)果對(duì)應(yīng)的步驟編程。單個(gè)字符處理public char charAt(int index)返回字符串中的單個(gè)字符。楊佩理 yangplJava語(yǔ)言程序設(shè)計(jì)public void setCharAt(int index,char ch)為字符串中的單個(gè)字符賦值或進(jìn)行替換public StringBuffer deleteCharAt(int index)刪除指定位置的字符字符串的倒序處理public StringBuffer reverse()StringBuffer實(shí)例的容量public int length():測(cè)量字符序列長(zhǎng)度public int capacity():占用內(nèi)存尺寸(實(shí)例容量)Java中命令行參數(shù)的用法main方法可接收字符串?dāng)?shù)組,作為運(yùn)行時(shí)給出的數(shù)據(jù)。 main方法中的參數(shù)public static void main( String args ) String args字符串?dāng)?shù)組args0第一個(gè)參數(shù)args1第二個(gè)參數(shù)帶參數(shù)的程序執(zhí)行j

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論