数组#
情境导入#
假设你的公司有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异常。