写了一个程序用来遍历数组,结果报了这个错:
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 5
我写的代码如下:
int[] arr={11,22,33,44,55};
for(int a=0;a<=arr.length;a++){
System.out.println("数组中第"+a+"个元素是"+arr[a]);
}
然后仔细观察了一下,可能是a<=arr.length这一代码有问题,不应该有=,因为有了=,a的值就会有5,而a又是从0开始计数(0~5有6位),并且数组长度只有5,这样就会引起数组索引越界异常,于是改完代码之后,程序能正常运行啦!
另外附数组操作的两个常见小问题:
1、ArrayIndexOutOfBoundsException:数组索引越界异常
原因:你访问了不存在的索引。
2、NullPointerException:空指针异常
原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。