標籤:執行個體 引用 public 成員 格式 管理 二維數組 規則 平面
軟體151,牟俊
一)數組的基本概念
1、數組可以看成是多個相同類型資料群組合,對這些資料的統一管理。
2、陣列變數屬參考型別,數組也可以看成是對象,數組中的每個元素相當於該對象的成員變數。
3、數組的元素可以是任何資料類型,包括基本類型和參考型別。
4、C和C++中的數組都可以分配在棧上面,而JAVA中的數組是只能分配在堆上面的,因為JAVA中的數組是參考型別。
(二)一維數組
一維數組的聲明方式有2種:
格式一:數組元素類型 數組名[ ]; 即type var[ ];
格式二:數組元素類型[ ] 數組名; 即type[ ] var;
格式二聲明數組的方法與C#上聲明一維數組的方法一樣。
例如:
int a1[ ]; int[ ] a2;
double b[ ];
person[ ] p1; String s1[ ];
注意:Java語言中聲明數組時不能指定其長度(數組中的元素個數),如:int a[5];這樣聲明一維數組是非法的。
(三)數組的模型
一維數組:一維數組就是一行,一行小格。
二維數組:二維數組就是一行加一列組成的一個平面分成的小格,有行有列。
三維數組:三維數組就是一個立方體。
人類最多認識到三維空間。
(四)數組建立的對象
Java中使用關鍵字new建立數組對象。
格式為:數組名 = new 數組元素的類型[數組元素的個數]
(五)元素為引用資料類型的數組
注意:元素為引用資料類型的數組中每一個元素都需要執行個體化。
例如:
class Date {
int year;
int month;
int day;
Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}
}
(六)數組的初始化
1、動態初始化
數組定義與為數組元素分配空間和賦值的操作分開進行。
public class Test {
public static void main(String args[]) {
int a[]; // 定義數組,即聲明一個int類型的數組a[ ]
a = new int[3]; // 給數組元素分配記憶體空間。
a[0] = 3;
a[1] = 9;
a[2] = 8; // 給數組元素賦值。
Date days[];
days = new Date[3];
days[0] = new Date(1, 4, 2004);
days[1] = new Date(2, 4, 2004);
days[2] = new Date(3, 4, 2004);
}
}
class Date {
int year, month, day;
Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}
}
2、靜態初始化
在定義數組的同時就為數組元素分配空間並賦值。
public class Test {
public static void main(String args[]) {
int a[] = { 3, 9, 8 }; // 在定義數組的同時給數組分配空間並賦值。
Date days[] = { new Date(1, 4, 2004), new Date(2, 4, 2004), new Date(3, 4, 2004) };
}
}
class Date {
int year, month, day;
Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}
}
(七)數組元素的預設初始化
數組是參考型別,它的元素相當於類的成員變數,因此給數組分配記憶體空間後,每個元素也被按照成員變數的規則被隱式初始化。
public class Test {
public static void main(String args[]) {
int a[] = new int[5];
Date[] days = new Date[3];
System.out.println(a[3]);
System.out.println(days[2]);
}
}
class Date {
int year, month, day;
Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}
}
輸出結果:
System.out.println(a[3]); 列印出來的結果是:0。
System.out.println(days[2]); 列印出來的結果是:null(空)
(八)數組元素的引用
定義並用運算子new為之分配記憶體空間後,才可以引用數組中的每個元素,數組元素的引用方式為:arrayName[index],index為數組元素下標,可以是整型常量或整型運算式。如:a[3], b[i], c[6*i]。數組元素下標從0開始;長度為n的數組的合法下標取值範圍為0 ~ n—1。每個數組都有一個屬性length指明它的長度,例如:a.length的值為數組a的長度(元素個數)。
Java基礎總結之數組