当前位置:  技术问答>java相关

这两道题怎解释?为什么答案是这样的?

    来源: 互联网  发布时间:2015-10-27

    本文导语:  15. Consider the following code:         String s = null;         Which code fragments cause an object of type NullPointerException to be       thrown?         A. if((s!=null) & (s.length()>0))       B. if((s!=null) &&(s.l...

15. Consider the following code:

 

      String s = null;

 

      Which code fragments cause an object of type NullPointerException to be

      thrown?

 

      A. if((s!=null) & (s.length()>0))

      B. if((s!=null) &&(s.length()>0))

      C. if((s==null) | (s.length()==0))

      D. if((s==null) || (s.length()==0))

 

      AC.

 

 

      16. Consider the following code:

 

      String s = null;

 

      Which code fragments cause an object of type NullPointerException to be

      thrown?

 

      A. if((s==null) & (s.length()>0))

      B. if((s==null) &&(s.length()>0))

      C. if((s!=null) | (s.length()==0))

      D. if((s!=null) || (s.length()==0))

 

      ABCD.


|
1.& 和 | 是按位与、或。所以两边的语句都会得到执行。
那么当执行 s.length() 时,就会抛出异常。
而 && 逻辑与,当判断第一个语句(即 s!=null)不成立时,则不必判断第二
个语句,if((s!=null) &&(s.length()>0))也一定不可能成立,所以s.length()不用执行。
|| 是逻辑或,判断到第一个语句 s==null 成立,则不论第二个语句什么结果,if((s!=null) &&(s.length()>0)) 也一定成立,所以也不必执行第二个语句。

2.原理同上

|
从左到右,执行s.length()就会nullpointer
但是
到&&的时候,必须两面为真才为真
如果&&前面为false,后面就不再执行
||正好相反,前面为true,那肯定表达市为true,后面的不再执行

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ STL Bitsets构造函数及成员函数解释及代码示例
  • classpath里的.;到底有什么用?能解释解释吗?
  • CentOS安装Telnet,以root用户登陆Telnet以及CentOS的各种终端解释
  • 请问java的xml解释器有哪些?怎么能在applet里用这些解释器?
  • 大虾们给我解释解释这个输出问题。这里小弟先谢了。
  • 实在是不能理解,谁能帮我解释解释!
  • 能不能帮我解释解释什么是EJB?
  • 关于"symbol lookup error"问题的诡异现象,高手帮忙解释解释
  • alex 解释器 alexinterpreter
  • 地震解释软件系统 OpendTect
  • 请教高人来解释一下小弟关于poll()函数的疑惑
  • Java源代码解释器 Beanshell
  • 这个"."怎么解释?
  • 高手帮忙解释
  • 请详细解释javamail里的“收件人类型”的CC,TO,BCC的意义???
  • linux中/dev下都是些什么文件啊?大侠们谁可以帮我解释一下?
  • 多线程的例子。但是不知道为什么看不懂。唉,笨:(各们帮帮忙了给我解释解释
  • 数字电视CA卡解释模块 OSCam
  • markdonw解释器 sundown
  • Brainfuck编译器和JIT解释器 bfc
  • Scheme Lisp 解释器 Subs


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3