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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

2、=10;int d=new intn;數(shù)組名 = new類型元素1,元素2,元素n; 說明: 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");結論:² 數(shù)組的下標下界為0。² 對數(shù)組各元素的訪問通過循環(huán)進行。數(shù)組初始化聲明和創(chuàng)建可以一起完成,這即為數(shù)組的初始化。(1) 可以在初始化時,給數(shù)組元素直接賦值。int a = new int5;a = 1,2,3,4,5; 楊佩理 yangplJava語言程序設計(2) 數(shù)組元素的默認值情況同對象的成員變量:數(shù)值型-0boolean-false對象-null(3) 如果沒進行初

4、始化,則需要單個元素進行輸入了。數(shù)組的使用對數(shù)組元素的訪問數(shù)組名index例:設計一個Fei類,數(shù)組f,可構造菲波那契數(shù)列的前20項置入數(shù)組中,另含有輸出f數(shù)組的printFei方法。另設計一個Test類,利用Fei類輸出菲波那契數(shù)列的前20項。class Feiclass Testpublic static void main(String args)new Fei(20).printFei();數(shù)組名可以重指向數(shù)組名是數(shù)組對象的引用,數(shù)組名可以重定向,指向另一個數(shù)組。例:閱讀程序,分析程序運行結果,理解數(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ù)組元素為對象當數(shù)組元素是對象時,每個數(shù)組元素都是對象引用。例:閱讀和分析程序,擴展對數(shù)組的認識。class Circle楊佩理 yangplJava語言程序設計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();練習:設計一個Add類,包含一組加數(shù)和被加數(shù),并可通過startTest方法開始進行加法測試,通過check方法進行判斷,將錯誤的加式和糾正后的加式同時列出,并可統(tǒng)計對題數(shù)。用給定的TestAdd類可產(chǎn)生類似如下圖的結果形式,其中左圖為全對的情況,右圖為有錯式的情況。說明:可對上

7、題進行擴展,如允許在創(chuàng)建Add對象時給定加數(shù)和被加數(shù)的范圍,楊佩理 yangplJava語言程序設計若沒給出范圍,缺省為100以內(nèi)的整數(shù)。數(shù)組的復制和排序數(shù)組的復制直接由System類的靜態(tài)方法arrayCopy來實現(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ù)組復制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ù)組部分)String和StringBuffer字符串² 字符串是有序的字符序列。如”Hello”² 字符串常量以雙引號為起止符。² 字符串可通過length()方法測得串長。如:int len = ”a try”.length();楊佩理 yangplString字符串 構造字符串實例對象的方法² 直接賦字符串值。 如:String s=”java”;² new String(參數(shù)列表)。 如:Strin

9、g s1=new String();String s2=new String(“java”);字符串池² 所有的字符串實例對象都在一個“字符串池”中。 ² 字符串變量是指向字符串對象的引用。² 字符串常量也是字符串實例對象的一個引用。常用的字符串相關方法² 對字符串內(nèi)字符的訪問public char charAt(int index)從調(diào)用方法的字符串對象中返回序數(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語言程序設計² 字符串比較n equal方法public boolean equals(String anotherString) 作用:比較兩個字符串值是否相等。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 =作用:比較兩個字符串對象是否為同一個。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)作用:比較兩個字符串的值大小如:String aa=”abc”,bb=”ABC”;pareTo(bb)其值為正,aa大于bb;其值為負,aa小于bb;其值為零,aa等于bb例:分析程序運行結果class StringTestpublic static void main(String aa)String s1 = new String(&qu

13、ot;a try");String s2 = "a try"String s3 = s1;楊佩理 yangplJava語言程序設計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語言程序設計StringBuffer字符串String對象一經(jīng)創(chuàng)建,不能對其內(nèi)容修改。消耗資源。StringBuffer對象是可變的字符串,可用于創(chuàng)建和操作動態(tài)字符串信息。為該對象分配的內(nèi)存會自動擴展以容納新增的文本。例程閱讀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對象創(chuàng)建有三種方法:使用初始化字符串、設定大小以及使用默認構造函數(shù): new StringBuffer(String s);new StringBuffer(int size);new StringBuffer();/用默認的構造方法時默認容量為16個字符。StringBuffer類的常用方法(1) 轉換成Stringpublic void toString()楊佩理 yangplJava語言程序設計(2) 添加數(shù)據(jù)

16、到對象public void append()在字符串末尾追加數(shù)據(jù)(有多個重載版本)public void insert(int offset,插入數(shù)據(jù))在字符串指定位置插入數(shù)據(jù)(有多個重載版本)。(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,按程序運行結果對應的步驟編程。單個字符處理public char charAt(int index)返回字符串中的單個字符。楊佩理 yangplJava語言程序設計public void setCharAt(int index,char ch)為字符串中的單個字符賦值或進行替換public StringBuffer deleteCharAt(int index)刪除指定位置的字符字符串的倒序處理public StringBuffer reverse()StringBuffer實例的容量public int length():測量字符序列長度public int capacity():占用內(nèi)存尺寸(實例容量)Java中命令行參數(shù)的用法main方法可接收字符串數(shù)組,作為運行時給出的數(shù)據(jù)。 main方法中的參數(shù)public static void main( String args ) String args字符串數(shù)組args0第一個參數(shù)args1第二個參數(shù)帶參數(shù)的程序執(zhí)行j

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論