在Java程序中,如果一个方法试图访问一个不存在的数组索引,会发生什么?假设数组定义为 `int[] arr = new int[5];`,以下哪种情况会导致程序抛出异常?

答案解析

核心考点:数组索引的边界条件和异常处理。 解题思路分析:Java中数组的索引从0开始,到数组长度减1结束。访问超出这个范围的索引会抛出ArrayIndexOutOfBoundsException异常。选项A访问了索引5,而数组长度为5,所以最大索引只能是4,因此超出边界。选项B访问了索引4,这是数组的最后一个有效索引,不会抛出异常。选项C访问了负索引-1,这明显超出范围。 选项A分析:访问了超出数组长度的索引,会导致ArrayIndexOutOfBoundsException。 选项B分析:访问了数组的最后一个有效索引,不会发生异常。 选项C分析:访问了负索引,会导致ArrayIndexOutOfBoundsException。 选项D分析:因为A和C都会导致异常,所以D正确。 易错点提醒:数组索引从0开始,负索引和等于数组长度的索引都是无效的。
正确答案:D
随机推荐
开始刷题