常见的数组上的报错就是两种:
1、java.lang.ArrayIndexOutOfBoundsException 数组角标越界的异常
2、java.lang.NullPointerException 空指针的异常
数组角标越界的异常:
数组角标超过了范围,例如负数的索引角标(python中是可以有负数索引的)或者右边超过了数组的最大索引。
空指针的异常:
还没初始化,就去找里面的指针了。
没有指针
总结,想要使用、输出值是null的变量、元素时,会有空指针报错。
package com.atguigu.exer;
//1、数组角标越界的异常(一般是for循环的时候出现这个异常),排查一下就好了java.lang.ArrayIndexOutOfBoundsException
//2、空指针异常 通过null调用的时候,会报错
public class ArraysExceptionTest {
public static void main(String[] args) {
1、数组角标越界的异常java.lang.ArrayIndexOutOfBoundsException
// int[] arr1 = new int[]{1,2,3,4,5};
// for(int i = 0; i<= arr1.length;i++)
// {
// System.out.println(arr1[i]);
// }
2、空指针异常
情况1
// int[] arr2; //只是声明了,没开辟内存空间,没有地址内存指针存在变量中了
// int[] arr3 = new int[]{1,2,3,4};
// arr3 = null;
// System.out.println(arr3[0]); //报错,空指针,
情况2
// int[][] arr4 = new int[4][];
// System.out.println(arr4[2]); //null 可以输出,不报错
// System.out.println(arr4[2][3]); //
// // 情况3 面向对象的时候容易报错,对象是null的时候容易报这个错
// String[] arr5 = new String[]{null,"AA","a","gg"};
// System.out.println(arr5[3].toString()); //可以输出
// System.out.println(arr5[0].toString()); //报错,空指针,
}
}