java.lang.ArrayIndexOutOfBoundsException
数组元素的有效范围为0~n-1(n为数组长度),如果访问数组元素时出现java.lang.ArrayIndexOutOfBoundsException的情况,程序将出现运行错误。
数组对象拥有一个系统自动提供的特殊属性length,用于以只读的方式给出数组的长度。该属性为int型,可直接访问。
例:
package test1;
public class TestArray3 {
public static void main(String[] args) {
int[] arr=new int[3];
for (int i = 0; i <= 3; i++) {
arr[i]=i;
System.out.println("arr["+i+"]="+arr[i]);
}
}
}
会出现下图异常:
数组元素的越界(又称:数组下标越界)
需要强调的是,java语言中数组长度并不属于其数据类型的组成部分,一个声明int[]类型的变量a可以指向一个长度为3的int[]类型数组对象,也可以指向一个长度为5的int[]类型数组对象,这就是在声明数组类型变量时不允许指明其长度的原因,例:
int[] a; //声明数组类型变量时不允许指明其长度,如 int[3] a是错误的
a=new int[3];
a=new int[5];