class Test1 {
public static void main(String[] args) {
int[]arr = new int[5];
System.out.println(arr[5]);
}
}
输出结果:数组索引越界异常
原因:你访问了不存在的索引
/*Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at LianXi1.main(LianXi1.java:5)
*/
2.class Test2{
public static void main(String[] args) {
int[]arr = new int[5];
arr = null; //当引用赋值为null,再去调用数组中的元素就会出现空指针异常。
System.out.println(arr[0]);
}
}
输出结果:空指针异常
原因:数组已经不在指向堆内存了。而你还用数组名去访问元素
/*Exception in thread "main" java.lang.NullPointerException
at LianXi1.main(LianXi1.java:5)
*/ |
|