数组#
情境导入#
假设你的公司有5位员工,记录他们的年龄(int
类型)。
我们能创建5个int
:
int age0 = 22;
int age1 = 25;
int age2 = 23;
int age3 = 30;
int age4 = 28;
那如果有100位、1000位呢?显然,我们不想(也不能)创建多个int
。这时,就需要用到数组了。
数组(Array)包含零个或多个变量。数组中的变量称为组件(Component)。
创建数组#
创建数组和创建变量使用的语句相同,区别在于数组的类型为组件类型[]
。
C[] a = new C[l]; // (1)
C[] a = new C[]{v_0, v_1, ..., v_l-1}; // (2)
C[] a = {v_0, v_1, ..., v_l-1}; // (3)
上述语句中,C
为组件类型,l
为数组的长度,v_n
为第n
个组件的初始值。
在(2)(3)式中,数组a
的长度会由 Java 自动确定。数组一经创建,其长度就不可改变。
访问组件#
数组中每一个组件都是变量,因此获得数组的组件后可以按变量的方式赋值等。
获取数组的组件需要用访问语句
C c = a[i];
其中i
为数组的索引(Index),且满足i >= 0 && i < l
。索引从0
开始,即第1个组件索引为0,第2个组件索引为1,以此类推。
边界#
数组的长度通过.length
获取,其类型为int
,如c.length
。
如果索引小于0或大于等于数组的长度,JVM 会抛出ArrayIndexOutOfBoundsException
异常。