数组异常分为索引异常和空指针异常两类:
1.索引异常,数组的索引只能在[0,数组长度)内取值,否则会越界,发生索引异常。
2.空指针异常
常见的空指针异常有以下三种情况:
package start; public class YuFa { public static void main(String[] args) { // 空指针 // 情况一:一维数组 int[] a = {1,23,3,4}; System.out.println(a[0]); a = null; // 此时栈空间中a的值为null,没有指向的地址,是一个空指针 // System.out.println(a[0]);报错 // 情况二:二维数组 int[] b[] = new int[4][]; System.out.println(b[0]);//地址值为空值,是一个空指针,所以输出null // System.out.println(b[0][0]);报错,空指针异常 // 情况三:对象调用方法时 String[] s = new String[] {"123","345","456"}; System.out.println(s[0].toString()); s[0] = null; // System.out.println(s[0].toString()); 报错,空指针异常 } }