4.5.4 使用数组
4.5.4 使用数组
数组最常用的用法就是访问数组元素,包括对数组元素进行赋值和取出数组元素的值。访问数组元素都是通过在数组引用变量后紧跟一个方括号([]),方括号里是数组元素的索引值,这样就可以访问数组元素了。访问到数组元素后,就可以把一个数组元素当成一个普通变量使用了,包括为该变量赋值和取出该变量的值,这个变量的类型就是定义数组时使用的类型。
Java
语言的数组索引是从0开始的,也就是说,第一个数组元素的索引值为0,最后一个数组元素的索引值为数组长度减1。下面代码示范了输出数组元素的值,以及为指定数组元素赋值:
1 | // 输出objArr数组的第二个元素,将输出字符串"李刚" |
数组越界
如果访问数组元素时指定的索引值小于0,或者大于等于数组的长度,编译程序不会出现任何错误但运行时出现异常:java.lang.ArrayIndexOutofBoundsException:N
(数组索引越界异常),异常信息后的N就是程序员试图访问的数组索引。
下面代码试图访问的数组元素索引值等于数组长度,将引发数组索引越界异常:
1 | // 访问数组元素指定的索引等于数组长度,所以下面代码将在运行时出现异常 |
length属性
所有的数组都提供了一个length
属性,通过这个属性可以访问到数组的长度,一旦获得了数组的长度,就可以通过循环来遍历该数组的每个数组元素。
下面代码示范了输出prices
数组(动态初始化的int
数组)的每个数组元素的值
1 | // 使用循环输出prices数组的每个数组元素的值 |
执行上面代码将输出5个0,因为prices
数组执行的是默认初始化,数组元素是int
类型,系统为int
类型的数组元素赋值为0
下面代码示范了为动态初始化的数组元素进行赋值,并通过循环方式输出每个数组元素:
1 | // 对动态初始化后的数组元素进行赋值 |
上面代码将先输出字符串”Hello”和”World”,然后输出两个null
。因为books
使用了动态初始化,系统为所有数组元素都分配一个null
作为初始值,后来程序又为前两个元素赋值,所以看到了这样的程序输出结果。
从上面代码中不难看出,初始化一个数组后,相当于同时初始化了多个相同类型的变量,通过数组元素的索引就可以自由访问这些数组元素。使用数组元素与使用普通变量并没有什么不同,一样可以对数组元素进行赋值,或者取出数组元素的值。