博学谷 > 资讯 > Java > 博学谷Java开发基础笔试题:&和&&的区别是什么?

原创 博学谷Java开发基础笔试题:&和&&的区别是什么?

发布时间:2019-04-17 16:05:17 浏览 348 来源:博学谷资讯 作者:三省

      博学谷Java开发基础笔试题:&和&&的区别是什么?


      &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为 true 时,整个运算结果才为 true, 否则,只要有一方为 false,则结果为 false。


      &&还具有短路的功能,即如果第一个表达式为 false,则不再计算第二个表达式,例如,对于 if(str != null && !str.equals(“”))表达式,当 str 为 null 时,后面的表达式不会执行,所以不会出现 NullPointerException 如果将&&改为&,则会抛出 NullPointerException 异常。If(x==33 & ++y>0) y 会增长,If(x==33 && ++y>0)不会增长


      &还可以用作位运算符,当&操作符两边的表达式不是 boolean 类型时,&表示按位与操作,我们通常使用 0x0f 来与一个整数进行&运算,来获取该整数的最低 4 个 bit 位,例如,0x31 & 0x0f 的结 果 为 0x01

     

上一篇:Java开发面试题会问什么? 下一篇:博学谷Java开发面试基础笔试题及答案分享

相关推荐 更多

最新文章

扫描二维码,回复"Java"获取180G资料包