可以使用括在括弧中的元素索引來引用訪問數組的每個元素。第一個元素的索引為0
,第二個元素1
,第三個元素2
等。
這稱為基於零的索引。數組的最後一個元素的索引是數組的長度減1
。假設有一個長度為5
的數組,數組元素的索引分別是:0
,1
,2
,3
和4
。
注意:第一個元素的索引值是
0
,而最後一個元素的索引值是:5
。
引用數組的不存在元素會引發一個運行時錯誤。
例如,在代碼中使用myID[5]
將拋出異常,因為myID
的長度為5
,而myID[5]
引用了第6
個元素,它不存在的。
可以為數組的元素賦值如下:
myID[0] = 10; // Assign 10 to the first element of myID
myID[1] = 20; // Assign 20 to the second element of myID
myID[2] = 30; // Assign 30 to the third element of myID
myID[3] = 40; // Assign 40 to the fourth element of myID
myID[4] = 50; // Assign 50 to the fifth element of myID
以下語句將myID
數組的第三個元素的值賦給int
類型變數temp
:
int temp = myID[2]; // Assigns 30 to temp
數組長度
數組對象有一個名為length
的公共實例變數,它包含數組中元素的數量。
int[] myID = new int[5]; // Create an array of length 5
int len = myID.length; // 5 will be assigned to len
length
是數組對象的屬性。在未創建數組對象之前,是不能使用它的length
屬性的。通常,使用迴圈訪問數組的元素。
for (int i = 0 ; i < myID.length; i++) {
myID[i] = (i + 1) * 10;
}
初始化數組元素
數組元素總是初始化。原始數據類型的數組元素被初始化為其數據類型的默認值。例如,數字類型數組元素初始化為0
,布爾類型元素為false
,引用類型元素為null
。
下麵的代碼說明了數組初始化:
默認情況下,intArray [0]
,intArray [1]
和intArray [2]
都會被初始化為 0
。
int[] intArray = new int[3];
bArray[0]
和bArray[1]
初始化為false
。
boolean[] bArray = new boolean[2];
參考類型數組的示例。strArray [0]
和strArray [1]
初始化為 null
。
String[] strArray = new String[2]
下麵代碼中,person
數組的所有100
個元素都初始化為null
。
Person[] person = new Person[100];
下麵說明了一個實例變數和一些局部變數的數組初始化。
public class Main {
private boolean[] bArray = new boolean[3]; // An instance variable
public Main() {
for (int i = 0; i < bArray.length; i++) {
System.out.println("bArray[" + i + "]:" + bArray[i]);
}
}
public static void main(String[] args) {
int[] myID = new int[3]; // A local array variable
for (int i = 0; i < myID.length; i++) {
System.out.println("myID[" + i + "]:" + myID[i]);
}
String[] name = new String[3]; // A local array variable
for (int i = 0; i < name.length; i++) {
System.out.println("name[" + i + "]:" + name[i]);
}
}
}
上面的代碼生成以下結果。
myID[0]:0
myID[1]:0
myID[2]:0
name[0]:null
name[1]:null
name[2]:null