一、數(shù)組概述
1. 數(shù)組可以看成是多個(gè)相同類型數(shù)據(jù)組合,對(duì)這些數(shù)據(jù)的統(tǒng)一管理。
2. 數(shù)組變量屬引用類型,數(shù)組也可以看成是對(duì)象,數(shù)組中的每個(gè)元素相當(dāng)于該對(duì)象的成員變量。
3. 數(shù)組中的元素可以是任何數(shù)據(jù)類型,包括基本類型和引用類型
二、一維數(shù)組的聲明
1.一維數(shù)組的聲明方式: type var[ ] ;或type[ ] var ;
2.java語(yǔ)言中聲明數(shù)組時(shí)不能指定其長(zhǎng)度(數(shù)組中元素的個(gè)數(shù)),
例如: int a[5] ; 非法
三、數(shù)組對(duì)象的創(chuàng)建
Java中使用關(guān)鍵字new創(chuàng)建數(shù)組對(duì)象,格式為:數(shù)組名 = new 數(shù)組元素的類型 [數(shù)組元素的個(gè)數(shù)]
例如:
public class Test { public static void main(String args[]) { s = new int[5]; for (int i=0; i< 5; i++) { s[i] = I; } }}四、元素為引用類型的數(shù)組
元素為引用數(shù)據(jù)類型的數(shù)組中的每一個(gè)元素都需要實(shí)例化。
public class Test { public static void main(String args[]) { Date[] days; days = new Date[3]; for (int i = 0; i < 3; i++) { days[i] = new Date(2004,4,i+1); } } class Date { int year;int month;int day; Date(int y,int m,int d) { year = y; month = m; day = d; } }}內(nèi)存分析:
days
Date[] days聲明數(shù)組時(shí),由于未創(chuàng)建數(shù)組對(duì)象,棧內(nèi)存中內(nèi)容為NULL。
執(zhí)行到days = new Date[3],棧中內(nèi)容更新,指向堆中new出來(lái)的對(duì)象。堆中的內(nèi)容也沒(méi)有初始化,所以也是NULL
執(zhí)行完for循環(huán)之后,days[0], days[1], days[2]分別都指向了一個(gè)新的對(duì)象
五、數(shù)組初始化
1. 動(dòng)態(tài)初始化
數(shù)組定義與為數(shù)組分配空間和賦值的操作分開(kāi)進(jìn)行,先分配,后賦值。
int a[ ] ; //定義
a = new int [3] ; //分配空間
a[0] = 3 ; a[1] = 9 ; a[2] = 8 ; //賦值
2. 靜態(tài)初始化
在定義數(shù)組的同時(shí)就為數(shù)組元素分配空間并賦值。例如:
int a [ ] = {3,9,8};
或
Date days [ ] = {new Date(1,4,2004),
new Date(2,4,2004),
new Date(3,4,2004)
}
3. 數(shù)組元素的默認(rèn)初始化
數(shù)組是引用類型,它的元素相當(dāng)于類的成員變量,因此數(shù)組分配空間時(shí),每個(gè)元素也按照成員變量的規(guī)則被隱式初始化。如,double 類型,默認(rèn) 0.0;引用類型,默認(rèn)NULL; 邏輯類型,默認(rèn) false。
六、數(shù)組元素的引用
1. 定義并用運(yùn)算符 new 為之分配空間后,才可以引用數(shù)組元素中的每個(gè)元素,數(shù)組元素的引用方式為:
arrayName[index] 2. index為數(shù)組元素下標(biāo),可以是整型常量或整型表達(dá)式。如:a[3], b[i], c[6*i]
3. 數(shù)組元素下標(biāo)從0開(kāi)始;長(zhǎng)度為n的數(shù)組的合法下標(biāo)取值范圍為 0~n-1
4. 每個(gè)數(shù)組都有一個(gè)屬性 length 指明它的長(zhǎng)度。 a.length的值為數(shù)組a的長(zhǎng)度(元素個(gè)數(shù))
注意length后不要加括號(hào),這里的length是一個(gè)屬性,不是一個(gè)方法。與String區(qū)分開(kāi)來(lái)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注