可以使用括在括号中的元素索引来引用访问数组的每个元素。第一个元素的索引为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