一、数组报错情况(其实都属于访问越界)
1.循环中使用了错误的索引,引发越界问题
public class LoopArrayOutOfBounds {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i <= arr.length; i++) { // 使用了 <=,会导致越界
System.out.println(arr[i]);
}
}
}
2.访问未定义的索引
public class ArrayOutOfBounds {
public static void main(String[] args) {
int[] arr = new int[5]; // 数组索引范围是 0 到 4
arr[5] = 10; // 试图访问索引 5,会抛出 ArrayIndexOutOfBoundsException
}
}
3.负访问索引
public class NegativeIndexAccess {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
System.out.println(arr[-1]); // 负索引访问,会抛出 ArrayIndexOutOfBoundsException
}
}
4.数组长度为0或者null却要访问数组
public class NegativeIndexAccess {
public static void main(String[] args) {
int[] arr = null;
System.out.println(arr[0]);
}
}