![第4章數(shù)組與字符串_第1頁(yè)](http://file4.renrendoc.com/view/5a02b32b9981a020703bd11768891c6f/5a02b32b9981a020703bd11768891c6f1.gif)
![第4章數(shù)組與字符串_第2頁(yè)](http://file4.renrendoc.com/view/5a02b32b9981a020703bd11768891c6f/5a02b32b9981a020703bd11768891c6f2.gif)
![第4章數(shù)組與字符串_第3頁(yè)](http://file4.renrendoc.com/view/5a02b32b9981a020703bd11768891c6f/5a02b32b9981a020703bd11768891c6f3.gif)
![第4章數(shù)組與字符串_第4頁(yè)](http://file4.renrendoc.com/view/5a02b32b9981a020703bd11768891c6f/5a02b32b9981a020703bd11768891c6f4.gif)
![第4章數(shù)組與字符串_第5頁(yè)](http://file4.renrendoc.com/view/5a02b32b9981a020703bd11768891c6f/5a02b32b9981a020703bd11768891c6f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串本章位置掌握一維數(shù)組1掌握二維數(shù)組2能力點(diǎn)掌握字符串3第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)主要內(nèi)容1一維數(shù)組2多維數(shù)組3字符串4案例分析5任務(wù)訓(xùn)練Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串4.1一維數(shù)組數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),是具有相同數(shù)據(jù)類型的有序數(shù)據(jù)集合。Java中的數(shù)組由基本數(shù)據(jù)類型的元素或?qū)ο蠼M成。數(shù)組中的每個(gè)數(shù)據(jù)稱為一個(gè)數(shù)組元素,同一數(shù)組中的各個(gè)數(shù)組元素具有相同的數(shù)據(jù)類型,并且在內(nèi)存中連續(xù)存放。數(shù)組元素之間通過(guò)下標(biāo)來(lái)區(qū)分,Java中數(shù)組的下標(biāo)從0開(kāi)始。Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串1.一維數(shù)組的聲明和變量一樣,數(shù)組必須先定義。定義一維數(shù)組的格式有:數(shù)據(jù)類型數(shù)組名[];或 數(shù)據(jù)類型[]數(shù)組名;其中數(shù)據(jù)類型可以為Java中的任意數(shù)據(jù)類型,數(shù)組名為一個(gè)合法的標(biāo)識(shí)符,[]指明該變量是一個(gè)數(shù)組類型變量。方括號(hào)[]是數(shù)組的標(biāo)志,表示聲明的是數(shù)組變量而不是普通變量,它可以出現(xiàn)在數(shù)組名的后面,也可以出現(xiàn)在數(shù)組元素類型名的后面,兩種定義方法沒(méi)有什么差別。例如:intscore[];
//聲明了一個(gè)名稱為score的一維數(shù)組,數(shù)組元素的數(shù)據(jù)類型是int?;騍tring[]name;//聲明了一個(gè)名稱為name的一維數(shù)組,數(shù)組元素的數(shù)據(jù)類型是String。4.1.1一維數(shù)組的聲明和創(chuàng)建4.1一維數(shù)組第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)2.一維數(shù)組的創(chuàng)建Java定義數(shù)組僅僅指定了數(shù)組名和數(shù)組元素的類型,[]中并沒(méi)有指出數(shù)組中元素的個(gè)數(shù),即數(shù)組長(zhǎng)度。我們不能訪問(wèn)數(shù)組的任何元素。必須用運(yùn)算符new為數(shù)組分配內(nèi)存空間,指明數(shù)組元素的長(zhǎng)度,同時(shí)對(duì)數(shù)組元素進(jìn)行初始化。用運(yùn)算符new初始化數(shù)組格式如下:
數(shù)組名=new數(shù)據(jù)類型[元素個(gè)數(shù)];如:intscore[];score=newint[5];為整型數(shù)組score分配了5個(gè)整數(shù)元素的內(nèi)存空間,并使每個(gè)元素初值為0。通常,這兩部分可以合在一起,用一條語(yǔ)句完成。例如:intscore=newint[5];4.1.1一維數(shù)組的聲明和創(chuàng)建4.1一維數(shù)組第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)在創(chuàng)建數(shù)組后,數(shù)組就具有了默認(rèn)的初始值,即每個(gè)數(shù)組元素會(huì)自動(dòng)被賦予其數(shù)據(jù)類型的默認(rèn)值。如int型數(shù)組的默認(rèn)初始值為0;double型的默認(rèn)初始值為0.0;boolean型的默認(rèn)初始值為false;對(duì)象型的默認(rèn)初始值為null。在實(shí)際應(yīng)用中,很少使用數(shù)組默認(rèn)值,通常需要對(duì)每一個(gè)數(shù)組元素顯示地重新賦值,這個(gè)過(guò)程就是數(shù)組的初始化。一維數(shù)組賦初值時(shí),由花括號(hào)“{}”括起的一串由逗號(hào)分隔的表達(dá)式組成,逗號(hào)“,”分隔數(shù)組元素中的值。在語(yǔ)句中不必明確指明數(shù)組的長(zhǎng)度,系統(tǒng)會(huì)自動(dòng)根據(jù)所給的元素個(gè)數(shù)為數(shù)組分配一定的內(nèi)存空間。語(yǔ)法格式如下:數(shù)據(jù)類型[]數(shù)組名=new數(shù)據(jù)類型[]{值1,值2,值3,……,值n};或數(shù)據(jù)類型[]數(shù)組名={值1,值2,值3,……,值n};4.1.2一維數(shù)組的初始化4.1一維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串例如:
intscore[]=newint[]{89,76,88,79,82};或
intscore[]={89,76,88,79,82};創(chuàng)建了一個(gè)包含5個(gè)整型元素的數(shù)組,同時(shí)給出了每個(gè)元素的初值。一旦數(shù)組score被創(chuàng)建,則數(shù)組的長(zhǎng)度自動(dòng)設(shè)置為5,不能在改變。注意:“{}”里的每一個(gè)數(shù)組元素的數(shù)據(jù)類型必須是相同的。當(dāng)數(shù)組元素的值具有明顯規(guī)律,或者數(shù)組長(zhǎng)度較長(zhǎng)不便于直接給出所有初值時(shí),可以使用for循環(huán)來(lái)進(jìn)行初始化。例如,使用for循環(huán)對(duì)一個(gè)整型一維數(shù)組a進(jìn)行初始化,a.length表示數(shù)組的長(zhǎng)度,代碼如下:int[]a=newint[6];for(inti=0;i<a.length;i++){a[i]=i;}4.1.2一維數(shù)組的初始化4.1一維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串定義了一個(gè)數(shù)組,并用new操作符為數(shù)組分配內(nèi)存空間,初始化后,就可以引用數(shù)組中的每一個(gè)元素。通過(guò)數(shù)組名和數(shù)組元素的下標(biāo)來(lái)引用一個(gè)數(shù)組元素,其語(yǔ)法格式為:數(shù)組名[index]其中:index為下標(biāo),其值為整型常數(shù)或表達(dá)式。但下標(biāo)只能從0開(kāi)始。對(duì)于上例中的score數(shù)組來(lái)說(shuō),它有5個(gè)元素,分別為:score[0]、score[1]、score[2]、score[3]、score[4]。
注意:沒(méi)有score[5]的表示方式。另外Java對(duì)數(shù)組元素要進(jìn)行越界檢查以保證安全性。同時(shí),對(duì)于每個(gè)數(shù)組都有一個(gè)屬性length指明它的長(zhǎng)度。例如:score.length指明數(shù)組score的長(zhǎng)度。4.1.3一維數(shù)組的引用4.1一維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串
使用Java數(shù)組時(shí)需要注意的幾個(gè)問(wèn)題:(1)數(shù)組元素的下標(biāo)(即[]內(nèi)的數(shù)字,代表了數(shù)組元素在數(shù)組中的位置)從0開(kāi)始,直到數(shù)組元素個(gè)數(shù)減1為止。例如長(zhǎng)度為10的數(shù)組,其元素下標(biāo)為0~9。數(shù)組的下標(biāo)必須是整型或者可以轉(zhuǎn)化成整型的量。(2)所有的數(shù)組都有一個(gè)屬性length,這個(gè)屬性存儲(chǔ)了數(shù)組元素的個(gè)數(shù),利用它可以方便地完成許多操作。(3)Java系統(tǒng)能自動(dòng)檢查是否有數(shù)組下標(biāo)越界的情況。例如數(shù)組MyIntArray的長(zhǎng)度為10,包含10個(gè)元素,下標(biāo)分別為0~9。如果在程序中使用MyIntArray[10],就會(huì)發(fā)生數(shù)組下標(biāo)越界,此時(shí)Java系統(tǒng)會(huì)自動(dòng)終止當(dāng)前的流程,并產(chǎn)生一個(gè)名為ArrayIndexOutOfBoundsException的例外,通知使用者出現(xiàn)了數(shù)組下標(biāo)越界。避免這種情況的一個(gè)有效方法是利用上面提到的length屬性作為數(shù)組下標(biāo)的上界。(4)強(qiáng)行使用未初始化的數(shù)組,就會(huì)出現(xiàn)NullPointException的異常錯(cuò)誤。4.1.3一維數(shù)組的引用4.1一維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串【例4-1】對(duì)數(shù)組中的每個(gè)元素賦值,然后按逆序輸出。4.1一維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串例【4-2】Fibonacci(斐波那契)數(shù)列。Fibonacci數(shù)列的定義為:f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2),n>2即斐波那契數(shù)列由1開(kāi)始,之后的斐波那契系數(shù)就由之前的兩數(shù)相加。4.1一維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串4.2多維數(shù)組
Java語(yǔ)言中并不直接支持多維數(shù)組,多維數(shù)組被看作數(shù)組的數(shù)組。例如二維數(shù)組為一個(gè)特殊的一維數(shù)組,其每個(gè)元素又是一個(gè)一維數(shù)組。我們主要介紹二維數(shù)組,多維的情況與二維數(shù)組類似。Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串二維數(shù)組為一個(gè)特殊的一維數(shù)組,其每個(gè)元素又是一個(gè)一維數(shù)組。二維數(shù)組的定義方式為:數(shù)據(jù)類型數(shù)組名[][];或數(shù)據(jù)類型
[][]數(shù)組名;例如:intintArray[][];與一維數(shù)組一樣,這時(shí)對(duì)數(shù)組元素也沒(méi)有分配內(nèi)存空間,同樣要使用運(yùn)算符new來(lái)分配內(nèi)存,然后才可以訪問(wèn)每個(gè)元素。對(duì)高維數(shù)組來(lái)說(shuō),可直接為每一維分配空間,如:inta[][]=newint[2][3];創(chuàng)建了一個(gè)二維數(shù)組a,該數(shù)組的示意圖如下:a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]
注意:在使用運(yùn)算符new來(lái)分配內(nèi)存時(shí),對(duì)于多維數(shù)組至少要給出最高維的大小。
如果在程序中出現(xiàn)inta2[][]=newint[][];編譯器將要提示如下錯(cuò)誤:Arraydimensionmissing4.2.1二維數(shù)組的定義4.2多維數(shù)組第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)為數(shù)組分配完空間后,需要對(duì)數(shù)組進(jìn)行初始化,可以直接為數(shù)組元素賦值,例如:inta[][]=newint[2][2];a[0][0]=1;a[0][1]=2;a[1][0]=3;a[1][1]=4;也可以在數(shù)組聲明的時(shí)候?yàn)閿?shù)組初始化,上面的語(yǔ)句也可改成:inta[][]={{1,2},{3,4}};又例如:inta[][]={{1},{2,3},{4,5,6}};//定義3行3列二維數(shù)組4.2.2二維數(shù)組的初始化4.2多維數(shù)組第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)對(duì)二維數(shù)組中每個(gè)元素,引用方式為:數(shù)組名[index1][index2]其中index1、index2為下標(biāo),可為整型常數(shù)或表達(dá)式。同樣,每一維的下標(biāo)都從0開(kāi)始。4.2.3二維數(shù)組的引用4.2多維數(shù)組第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)【例4-3】初始化二維數(shù)組,輸出數(shù)組長(zhǎng)度和每個(gè)元素的值。4.2多維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串【例4-4】二維數(shù)組轉(zhuǎn)置。4.2多維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串在Java語(yǔ)言中提供了一些對(duì)數(shù)組進(jìn)行操作的類和方法。使用這些系統(tǒng)定義的方法,可以很方便地對(duì)數(shù)據(jù)進(jìn)行操作。1.System類中的靜態(tài)方法arraycopy()系統(tǒng)類System中的靜態(tài)方法arraycopy()可以用來(lái)復(fù)制數(shù)組,其格式為:publicstaticvoidarraycopy(Objectsrc,intsrcPos,Objectdest,intdesPos,intlength)其中,src為源數(shù)組名,srcPos為源數(shù)組的起始位置,dest為目標(biāo)數(shù)組名,destPos為目標(biāo)數(shù)組的起始位置,length為復(fù)制的長(zhǎng)度。4.2.4數(shù)組的常用方法4.2多維數(shù)組第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)【例4-5】使用arrayCopy()方法復(fù)制數(shù)組。4.2多維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串2.Arrays類中的方法在java.util.Arrays類中提供了一系列數(shù)組操作的方法,下面介紹最常用的兩個(gè):(1)判斷數(shù)組相等方法equals。equals方法用于判斷數(shù)組是否相等,其格式為:publicstaticbooleanequals(數(shù)組1,數(shù)組2)數(shù)組1和數(shù)組2必須是同類型,只有當(dāng)兩個(gè)數(shù)組的元素個(gè)數(shù)相同且對(duì)應(yīng)位置元素也相同時(shí),才表示兩個(gè)數(shù)組相同,返回true;否則返回false。(2)指定值分配方法fill。fill方法實(shí)現(xiàn)將指定值分配給數(shù)組中的每個(gè)元素,其格式為:publicstaticvoidfill(數(shù)組,值)(3)排序方法sort。sort方法實(shí)現(xiàn)對(duì)數(shù)組的遞增排序,其格式為:publicstaticvoidsort(Object[]arrayname)其中,arrayname為要排序的數(shù)組名。(4)查找方法binarySearch。該方法的作用是對(duì)已排序的數(shù)組進(jìn)行二分查找,其格式為:publicstaticintbinarySearch(Object[]a,Objctkey)其中,a為已排好序的數(shù)組,key為要查找的數(shù)據(jù)。如果找到,返回值為該元素在數(shù)組中的位置;如沒(méi)有找到,返回一個(gè)負(fù)數(shù)。4.2.4數(shù)組的常用方法4.2多維數(shù)組第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)【例4-6】使用equals()方法判斷數(shù)組。4.2多維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串【例4-7】使用fill完成指定值。4.2多維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串【例4-8】使用sort方法排序。4.2多維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串【例4-9】使用binarySearch方法排序。4.2多維數(shù)組Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串4.3字符串字符串是編程中經(jīng)常要使用到的數(shù)據(jù)結(jié)構(gòu)。它是一個(gè)字符序列,可以包含字母、數(shù)字、和其它符號(hào)。Java提供了兩個(gè)字符串類String類和StringBuffer類,封裝了字符串的全部操作。其中,String用于處理創(chuàng)建后不再改變的字符串,即字符串常量,StringBuffer用來(lái)處理可變字符串。Java語(yǔ)言程序設(shè)計(jì)第4章數(shù)組與字符串1.String對(duì)象的初始化String是比較特殊的數(shù)據(jù)類型,不屬于基本數(shù)據(jù)類型,但是可以和使用基本數(shù)據(jù)類型一樣直接賦值,也可以使用new運(yùn)算符進(jìn)行實(shí)例化。Strings1="abc";Strings2=newString("abc");
注意:字符串常量與字符常量不同。字符常量是用單引號(hào)括起的單個(gè)字符,例如’a’,’\n’等。而字符串常量是用雙引號(hào)括起的字符序列,例如"a","Hello"等。2.String類的常用方法String類有很多方法,使用這些方法完成獲取字符串長(zhǎng)度、字符串比較、字符串連接、字符串截取等。String類的常用方法如下:4.3.1數(shù)組的常用方法4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)(1)字符串的長(zhǎng)度調(diào)用length()方法獲得字符串的長(zhǎng)度,格式為:字符串名.length()例如: Stringstr="Hello!"; System.out.println(str.length());//64.3.1數(shù)組的常用方法4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)(2)字符串比較在比較數(shù)字時(shí)常用運(yùn)算符“==”來(lái)比較是否相等,但是對(duì)于字符串來(lái)說(shuō),“==”只能判斷兩個(gè)字符串是否為同一個(gè)對(duì)象(兩個(gè)對(duì)象在內(nèi)存中存儲(chǔ)的地址是否一樣),不能判斷兩個(gè)字符串所包含的內(nèi)容是否相同。1)booleanequals(Stringstr):比較當(dāng)前字符串內(nèi)容是否與參數(shù)字符串str相同;2)BooleanequalsIgnoreCase(Stringstr):與equals()方法相同,并在比較時(shí)忽略字符大小寫(xiě);3)intcompareTo(Stringstr):按字典順序與參數(shù)指定的字符串比較大小,如果兩個(gè)字符串相同則返回0;如果當(dāng)前字符串對(duì)象大于參數(shù)字符串則返回正值,小于則返回負(fù)值,返回值為比較的兩個(gè)字符串從其到第一對(duì)不相同字符間的差距;
4)intcompareToIgnoreCase(Stringstr):與CompareTo()方法相同,并在比較時(shí)忽略字符大小寫(xiě)。 Stringstr1="team"; Stringstr2="dream"; System.out.println(str1.equals(str2));//false System.out.println(str1.equalsIgnoreCase("TEAM"));//true System.out.println(pareTo(str2));//16 System.out.println(pareToIgnoreCase(str2));//164.3.1數(shù)組的常用方法4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)(3)字符串連接1)用字符串連接操作符“+”將兩個(gè)字符串連接起來(lái),格式為:字符串1+字符串2例如:Stringstr1=“Welcometo”;Stringstr2=str1+“Java”;//str2的值為“WelcometoJava”2)用concat()方法連接兩個(gè)字符串,格式為:字符串1.concat(字符串2)
該方法作用是將參數(shù)中的字符串2連接到字符串1的后面,字符串1不變。例如:Stringstr1=″Hello!″; System.out.println(str1.concat(″World!″));//Hello!World! System.out.println(str1); // Hello!4.3.1數(shù)組的常用方法4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)(4)字符串截取1)publicStringsubstring(intbeginIndex):截取當(dāng)前字符串從beginIndex處的字符串開(kāi)始直到最后的子串;2)publicStringsubstring(intbeginIndex,intendIndex):截取從beginIndex位置起至endIndex-1結(jié)束的子串。子串返的長(zhǎng)度為endIndex-beginIndex。
Stringstr="HelloJavaWorld!"; System.out.print(str.substring(5));//JavaWorld! System.out.print(str.substring(5,9));//Java4.3.1數(shù)組的常用方法4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)(5)字符串查詢1)publicintindexOf(Stringstr):返回子串str在當(dāng)前字符串中首次出現(xiàn)的位置,若沒(méi)有查找到字符串str,則該方法返回值為-1;2)publicintlastIndexOf(Stringstr):返回子串str在當(dāng)前字符串中最后出現(xiàn)的位置,若沒(méi)有查找到字符串str,則該方法返回值為-1; Stringstr="HelloJavaWorld!"; System.out.println(str.indexOf("a"));//值為6 System.out.println(str.lastIndexOf("a"));//值為84.3.1數(shù)組的常用方法4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)(6)字符串大小寫(xiě)轉(zhuǎn)換1)publicStringtoLowerCase():將字符串中全部字符轉(zhuǎn)換成小寫(xiě);2)publicStringtoUpperCase():將字符串中全部字符轉(zhuǎn)換成大寫(xiě)。Stringstr1="java";Stringstr2="JSP";StringstrUp=str1.toUpperCase();StringstrLow=str2.toLowerCase();System.out.println(strUp);//值為JAVASystem.out.println(strLow);//值為jsp4.3.1數(shù)組的常用方法4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)(7)返回指定位置的字符
publiccharcharAt(intindex):返回字符串中index位置上的字符,index值的范圍是0~length-1。Stringstr="12345678";System.out.println(str.charAt(4));//54.3.1數(shù)組的常用方法4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)(8)字符串的開(kāi)始與結(jié)尾1)publicbooleanstartsWith(Stringprefix):判斷字符串是否以某個(gè)字符串作為開(kāi)始,如果是,則返回true。例如:
Strings="TestGame";
booleanb=s.startsWith("Test");//true2)publicBooleanendsWith(Stringsuffix):判斷字符串是否以某個(gè)字符串結(jié)尾,如果以對(duì)應(yīng)的字符串結(jié)尾,則返回true。例如:
Strings="student.doc"; booleanb=s.endsWith("doc");//true4.3.1數(shù)組的常用方法4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)(9)替換指定字符串1)publicStringreplace(charc1,charc2):用c2替換字符串中所有指定的字符c1,然后生成一個(gè)新的字符串,原字符串不發(fā)生改變。
Strings="abcat";
Strings1=s.replace('a','1');//1bc1t2)publicStringreplaceAll(Strings1,Strings2):將字符串中某個(gè)指定的字符串s1替換為其它字符串s2,原字符串不發(fā)生改變。
Strings="abatbac"; Strings1=s.replace('ba','12');//a12t12c3)publicStringreplaceFirst(Strings1,Strings2):將字符串中某個(gè)第一次出現(xiàn)的指定字符串s1替換為其它字符串s2,原字符串不發(fā)生改變。
Strings="abatbac"; Strings1=s.replace('ba','12');//a12tbac4.3.1數(shù)組的常用方法4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)(10)去掉字符串首尾空格publicStringtrim():去掉字符串開(kāi)始和結(jié)尾的所有空格,形成一個(gè)新的字符串。該方法不去掉字符串中間的空格。
Strings="abcabc123"; Strings1=s.trim();//abcabc123(11)類型轉(zhuǎn)換publicstaticStringvalueOf():將其它數(shù)據(jù)類型轉(zhuǎn)換為字符串類型。
intn=10; Strings2=String.valueOf(n);//104.3.1數(shù)組的常用方法4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)Java中提供了java.lang包中的StringBuffer類,用于創(chuàng)建和操作動(dòng)態(tài)字符串。該類對(duì)象值可變,分配的內(nèi)存可自動(dòng)擴(kuò)展。創(chuàng)建StringBuffer類的對(duì)象使用new運(yùn)算符創(chuàng)建StringBuffer類的對(duì)象,其語(yǔ)法格式如下:StringBuffer()//創(chuàng)建一個(gè)空字符串對(duì)象,初始容量是16個(gè)字符StringBuffer(intcapcity)//創(chuàng)建一個(gè)長(zhǎng)度為capcity的空字符串對(duì)象StringBuffer(Strings)//創(chuàng)建一個(gè)內(nèi)容為s的字符串對(duì)象2.StringBuffer類的常用方法StringBuffer類的常用方法如下:(1)字符追加方法名:StringBufferappend(Stringstr)功能:將指字符串str連接到StringBuffer對(duì)象的內(nèi)容后面,并返回連接后的StringBuffer對(duì)象。(2)插入字符方法名:StringBufferinsert(intindex,Stringstr)功能:將指定字符串str插入到StringBuffer對(duì)象的index索引處。(3)刪除字符方法名:StringBufferdelete(intstart,intend)功能:刪除該StringBuffer對(duì)象從start索引處開(kāi)始到end-1索引處結(jié)束的字符內(nèi)容。(4)反轉(zhuǎn)字符方法名:StringBufferreverse()功能:反轉(zhuǎn)該StringBuffer對(duì)象的字符串值。4.3.2StringBuffer類4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)【例4-10】StringBuffer的使用。4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)程序從外界讀取數(shù)據(jù)時(shí),讀入的數(shù)據(jù)往往是一個(gè)長(zhǎng)串,需要把長(zhǎng)串的數(shù)據(jù)分界開(kāi)來(lái)。如給多人發(fā)送電子郵件,郵件的接收人地址形如:person1@163.com;person2@163.com;person3@163.com。利用StringTokenizer類可以方便地去除每一個(gè)郵件地址的值。StringTokenizer類放在java.util包中,需要用import關(guān)鍵字。StringTokenizer類默認(rèn)會(huì)用5個(gè)符號(hào)當(dāng)做字符串的分解符號(hào),這5個(gè)符號(hào)分別是空格、定位(Tab,\t)、換行(\n)、回車(\r)和進(jìn)紙(\f)。1.StringTokenizer類的初始化StringTokenizer類有下面兩個(gè)常用的構(gòu)造方法。StringTokenizer(Strings):用于為字符串s構(gòu)造一個(gè)分析器。StringTokenizer(Strings,Stringdelim):用于為字符串s構(gòu)造一個(gè)分析器,參數(shù)delim中的字符被作為分隔符。4.3.3StringTokenizer類4.3字符串第4章數(shù)組與字符串Java語(yǔ)言程序設(shè)計(jì)2.StringTokenizer類的常用方法StringTokenizer類的常用方法有如下幾個(gè):countTokens():返回StringTokenizer類包含的元素個(gè)數(shù)。hasMoreElements():判斷是否還有更多元素。hasMoreTokens():判斷是否還有更多元素。nextElement():返回StringTokenizer類的下一個(gè)元素(對(duì)象)。nextToken():返回StringTokenizer類的下一個(gè)字符串。通常把StringTokenizer對(duì)象作為一個(gè)字符串分析器。一個(gè)分析器可以使用nextToken()方法逐個(gè)獲取字符串中的語(yǔ)言符號(hào)。每當(dāng)調(diào)用nextToken()時(shí),都將在字符串中獲得下一個(gè)語(yǔ)言符號(hào),每獲得一個(gè)語(yǔ)言符號(hào),字符串分析器中負(fù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年信用合同履行風(fēng)險(xiǎn)評(píng)估
- 2025年養(yǎng)老機(jī)構(gòu)入住合同樣本
- 2025年合伙投資權(quán)益共享協(xié)議范本
- 2025年光伏產(chǎn)業(yè)發(fā)展戰(zhàn)略合作框架協(xié)議
- 2025年住宅小區(qū)裝修班組施工協(xié)議
- 2025年股權(quán)交易策劃限制性協(xié)議范本
- 2025年農(nóng)業(yè)科研用地租賃協(xié)議
- 2025年倉(cāng)儲(chǔ)保管年合同樣本
- 2025年企業(yè)網(wǎng)站設(shè)計(jì)實(shí)施協(xié)議
- 2025年在施工地房產(chǎn)交易合同
- 地理-廣東省上進(jìn)聯(lián)考領(lǐng)航高中聯(lián)盟2025屆高三下學(xué)期開(kāi)學(xué)考試題和答案
- 2025年熱管換熱氣行業(yè)深度研究分析報(bào)告
- 華為采購(gòu)質(zhì)量?jī)?yōu)先及三化一穩(wěn)定推進(jìn)
- 職業(yè)學(xué)院學(xué)生晚出、晚歸、不歸管理辦法
- 2025年高三歷史高考第二輪復(fù)習(xí)知識(shí)梳理中國(guó)史部分復(fù)習(xí)提綱
- 《安利蛋白質(zhì)粉》課件
- 護(hù)理三基三嚴(yán)習(xí)題+參考答案
- 2025門(mén)診護(hù)理工作計(jì)劃
- 員工互評(píng)表(含指標(biāo))
- 電氣領(lǐng)域知識(shí)培訓(xùn)課件
- 山東省部分學(xué)校2024-2025學(xué)年高一上學(xué)期12月選科指導(dǎo)聯(lián)合測(cè)試地理試題( 含答案)
評(píng)論
0/150
提交評(píng)論