黑马程序员技术交流社区

标题: 数组操作过程中两个常见小问题,越界和空指针异常 [打印本页]

作者: 小鱼儿211    时间: 2015-10-14 09:13
标题: 数组操作过程中两个常见小问题,越界和空指针异常
class Test1 {
        public static void main(String[] args) {
                int[]arr = new int[5];
                System.out.println(arr[5]);
        }
}
输出结果:数组索引越界异常
原因:你访问了不存在的索引
/*Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
        at LianXi1.main(LianXi1.java:5)
*/



2.class Test2{
        public static void main(String[] args) {
                int[]arr = new int[5];
                arr = null;        //当引用赋值为null,再去调用数组中的元素就会出现空指针异常。
                System.out.println(arr[0]);
        }
}
输出结果:空指针异常
原因:数组已经不在指向堆内存了。而你还用数组名去访问元素
/*Exception in thread "main" java.lang.NullPointerException
        at LianXi1.main(LianXi1.java:5)
*/




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2