假设有定义String name=null,则下列选项中将引发异常的是
A、int a= name.length();
B、if(name!=null&&name.length()= =0)
C、int a=(name = =null? 0;name.length());
D、if(name = =null | | name.length()= =0)
【正确答案】:A
【题目解析】:(P72)[考点点击]本题主要考查的知识点为异常的产生原因。[要点透析]选项A中name在没有初始化的情况下直接进行引用,会引发异常。选项B中条件表达式为逻辑与表达式,左侧表达式name!= null结果为 false,所以逻辑表达式短路,右侧表达式不会计算,不会引发异常。选项C中是一个条件运算符,其中的条件为name==null,其值为true,所以三元表达式的值为0,name. length()不会执行,故不会引发异常。选项D中条件表达式为逻辑或表达式,左侧表达式的值为true,所以整个逻辑或表达式短路,右侧表达式name. length()==0不会执行,所以不会引发异常。故选A。