java中两大异常:空指针异常和数组越界异常

来源:互联网 发布:php数组遍历 编辑:程序博客网 时间:2024/05/18 22:45

一、空指针异常

1.所谓的指针,就是java中的对象的引用。比如String s;这个s就是指针。 2.所谓的空指针,就是指针的内容为空,比如上面的s,如果令它指向null,就是空指针。3.所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。比如上面的s假如为null,你还要用s的方法,比如s.equals( String x);那么就会产生空指针异常。

注意事项

可以用debug模式排查
eg:
1字符串变量未初始化;
2接口类型的对象没有用具体的类初始化
3当一个对象的值为空时,你没有判断为空的情况。
Java中的8种基本数据类型,变量的值可以有其默认值,加入没有对其正常赋值,java虚拟机是不能 正确编译通过的,因此使用基本的Java数据类型一般不会是不会引起空指针异常的。实际开发中,大多数的空指针异常主要与对象的操作相关。

二、数组越界异常

Java中数组初始化和OC其实是一样的,分为动态初始化和静态初始化,

动态初始化:指定长度,由系统给出初始化值

静态初始化:给出初始化值,由系统给出长度

在我们使用数组时最容易出现的就是数组越界问题,好了,下面来演示一下

        int [][] array = {{1,2,3},{1,4}};        System.out.println(array[1][2]);

这是一个二维数组,很明显,数组越界了,控制台中会打印如下信息:
   Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
   at demo.Array.main(Array.java:31)

很准确的定位到错误行
注:下标从0开始,最大为 数组名.length 一定要注意哦!!!!!!!!!!


原创粉丝点击