資源描述:
《java語(yǔ)言基礎(chǔ)-數(shù)組向量字符串》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第二章Java語(yǔ)言基礎(chǔ)Contents1.數(shù)組3.向量2.字符串NCEPU復(fù)合數(shù)據(jù)類(lèi)型復(fù)合數(shù)據(jù)類(lèi)型早期的程序設(shè)計(jì)語(yǔ)言把變量看作是孤立的東西,例如我們往往用三個(gè)整數(shù)變量day,month和year來(lái)表示日期intday,month,year;雖然這種方法容易理解,但是有兩個(gè)明顯的缺點(diǎn):NCEPU復(fù)合數(shù)據(jù)類(lèi)型程序若要處理多個(gè)日期,則需要更多的說(shuō)明,例如要保存兩個(gè)生日,則需要:birthday1,birthmonth1,birthyear1birthday2,birthmonth2,birthyear2該程序因使用了多個(gè)變量而變得混亂,并且占用了過(guò)多的命名空間。每個(gè)變量都是獨(dú)立的,而其實(shí)
2、它們應(yīng)當(dāng)是某一個(gè)日期的組成部分,這樣定義無(wú)法體現(xiàn)整體的聯(lián)系。NCEPU復(fù)合數(shù)據(jù)類(lèi)型復(fù)合數(shù)據(jù)類(lèi)型由程序員在源程序中定義,把描述整個(gè)對(duì)象各個(gè)不同方面的變量放到一個(gè)定義中,建立該模型。一旦有了定義,就可以使用該類(lèi)型名來(lái)創(chuàng)建變量。Java是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它為用戶提供的復(fù)合數(shù)據(jù)類(lèi)型即類(lèi)和接口。NCEPU復(fù)合數(shù)據(jù)類(lèi)型引用類(lèi)型(referencetype即復(fù)合類(lèi)型)引用型變量的值與基本類(lèi)型(簡(jiǎn)單類(lèi)型)變量不同,變量值是指向內(nèi)存空間的引用(地址)。所指向的內(nèi)存中保存著變量所表示的一個(gè)值或一組值。引用在其他語(yǔ)言中稱為指針或內(nèi)存地址。Java不支持顯式使用內(nèi)存地址,而必須通過(guò)變量名對(duì)某個(gè)內(nèi)存空
3、間地址進(jìn)行訪問(wèn)。NCEPU兩種類(lèi)型變量的不同處理inta;a=12;MyDatetoday;today.day=14;?引用型變量在聲明后必須通過(guò)實(shí)例化開(kāi)辟數(shù)據(jù)空間,才能對(duì)變量所指向的對(duì)象進(jìn)行訪問(wèn).MyDatetoday;today=newMyDate();today.day=14;NCEPU關(guān)于對(duì)象和對(duì)象的“引用”Strings=newString(“aString”);AnobjectofStringiscreatedTheobjectisinitializedw/”aString”AvariableashandletoStringiscreatedThevalueoftheha
4、ndlevariableisassigntotheobjectStrings;saStringNCEPU數(shù)組和字符串第一節(jié)數(shù)組數(shù)組概述一維數(shù)組二維數(shù)組NCEPU數(shù)組概述數(shù)組,是由數(shù)目固定的、相同類(lèi)型的元素組成的有序集合,每個(gè)元素相當(dāng)于一個(gè)變量。在Java中,數(shù)組是最簡(jiǎn)單的復(fù)合數(shù)據(jù)類(lèi)型NCEPU數(shù)組概述數(shù)組元素可以是任意類(lèi)型,可以是簡(jiǎn)單類(lèi)型,也可以是引用類(lèi)型。訪問(wèn)數(shù)組中的某個(gè)元素,可以通過(guò)數(shù)組名加下標(biāo)的形式,例如:a[4]。數(shù)組下標(biāo)的個(gè)數(shù)就是數(shù)組的維數(shù):有一個(gè)下標(biāo)就是一維數(shù)組,有兩個(gè)下標(biāo)就是二維數(shù)組,依次類(lèi)推。NCEPU一維數(shù)組一個(gè)一維數(shù)組實(shí)際上是一列相同類(lèi)型的變量一維數(shù)組的聲明一維數(shù)
5、組的創(chuàng)建一維數(shù)組初始化數(shù)組邊界NCEPUanull一維數(shù)組的聲明聲明一維數(shù)組的格式是:<類(lèi)型><數(shù)組名>[];或<類(lèi)型>[]<數(shù)組名>;例如:inta[]或:Dated[]例如:int[]a或:Date[]dinta[5]是不正確的要聲明成:inta[]或:int[]a此時(shí)的數(shù)組a中的元素個(gè)數(shù)沒(méi)有確定,系統(tǒng)沒(méi)有創(chuàng)建具體的數(shù)組對(duì)象,而是聲明了一個(gè)指向數(shù)組的引用?NCEPU所有的引用類(lèi)型都需要用new來(lái)初始化一維數(shù)組的創(chuàng)建創(chuàng)建一維數(shù)組的格式為:<數(shù)組名>=new<類(lèi)型>[<長(zhǎng)度>];Java中沒(méi)有靜態(tài)定義的數(shù)組,數(shù)組的內(nèi)存都是通過(guò)new動(dòng)態(tài)分配的。例如:a=newint[5];此時(shí)系統(tǒng)創(chuàng)
6、建了具體的數(shù)組對(duì)象,為每個(gè)數(shù)組元素分配了具體的內(nèi)存單元,并進(jìn)行了默認(rèn)的初始化0x03456789a0a[0]0a[1]0a[2]0a[3]0a[4]a[]=newint[5];?NCEPU一維數(shù)組的創(chuàng)建數(shù)組的聲明和創(chuàng)建可以同時(shí)進(jìn)行:<類(lèi)型><數(shù)組名>[]=new<類(lèi)型>[<長(zhǎng)度>];或<類(lèi)型>[]<數(shù)組名>=new<類(lèi)型>[<長(zhǎng)度>];例如:inta[]=newint[5];或:int[]a=newint[5];NCEPUpublicclassTest{publicstaticvoidmain(Stringargs[]){int[]s;s=newint[5];for(inti=0;i
7、<5;i++){s[i]=2*i+1}}}一維數(shù)組NCEPU一維數(shù)組publicclassTest{publicstaticvoidmain(Stringargs[]){int[]s;s=newint[5];for(inti=0;i<5;i++){s[i]=2*i+1}}}NCEPU一維數(shù)組publicclassTest{publicstaticvoidmain(Stringargs[]){int[]s;s=newint[5];for(inti=0;i<5