数组异常分为索引异常和空指针异常两类:
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()); 报错,空指针异常
    }
}