【1】什么是null
null是没有地址,""是有地址但是里面的内容是空的
【2】空指针异常
我们在对空对象进行的任何操作都会报空指针异常。
(1)我们在对空对象进行的任何操作都会报空指针异常。
(2)所谓的空指针,就是指针的内容为空,比如上面的s,如果令它指向null,就是空指针。
(3)所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。比如上面的s假如为null,你还要用s的方法,比如s.equals( String x);那么就会产生空指针异常。
【3】案例分析
根据下面的代码,String s = null;
会抛出NullPointerException异常的有()
if( (s!=null) & (s.length()>0) )
if( (s!=null) & & (s.length()>0) )
if( (s==null) | (s.length()0) )
if( (snull) || (s.length()==0) )
出现异常主要是因为执行了s.length()这句话,所以A、B、C、D选项中只要没有执行到这句话的都是不会报空指针异常的。然后考查的第二点是短路逻辑运算符和非短路逻辑运算符。&和|为非短路逻辑运算符,无论两个语句为什么,一定会执行完毕,所以A、C两个是会报出异常的。
String s=null;没有给s开辟任何空间,当执行length()方法时候, 因为没有具体指向的内存空间,所以报出NullPointerException没有指向的错误