在Java中,数组下标越界通常发生在以下几种情况:
下标小于0 :数组下标从0开始,访问下标小于0的元素会导致越界。
下标大于等于数组长度:
访问下标大于等于数组长度(`array.length`)的元素也会导致越界。
空数组:
如果数组为空,则任何下标访问都会导致越界。
解决数组下标越界的方法:
使用数组长度进行判断
int[] array = {1, 2, 3, 4, 5};int index = 3;if (index >= 0 && index < array.length) {int value = array[index];System.out.println("数组元素值为: " + value);} else {System.out.println("数组下标越界!");}
使用try-catch捕获异常
int[] array = {1, 2, 3, 4, 5};int index = 5;try {int value = array[index];System.out.println("数组元素值为: " + value);} catch (ArrayIndexOutOfBoundsException e) {System.out.println("数组下标越界!");}

注意数组的正确访问范围
int[] a = new int;// a = 0;// a = 1;// a = 2;// a = 3;// a = 4;// a = 5; // 这行代码会导致数组越界
正确的访问方式是:
int[] a = new int;a = 0;a = 1;a = 2;a = 3;a = 4;// a = 5; // 这行代码是错误的,应该删除
总结
数组下标越界发生在下标小于0或大于等于数组长度时。
使用数组长度进行判断或使用try-catch捕获异常可以避免数组下标越界。
注意数组的正确访问范围是从0到`array.length - 1`
