【Java面试题】Java开发基础笔试题:&和&&有什么区别?

发布时间:2021-12-07 09:30:07

  &和&&都可以用作逻辑和计算符,表示逻辑和(and)。当计算符两侧的表达结果为true时,整个计算结果为true。否则,只要一方是false,结果就是false。

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

  &也可以用作位置操作符。当&操作符两侧的表达式不是bolean类型时,&表示按位和操作。我们通常使用0x0f一个整数进行&操作,以获得整数的最低4个bit位置。例如,0x31&0x0f的结果是0x01。

上一篇 【Java面试题】Java开发面试题会问什么?
下一篇 【Java面试题】Java开发工程师面试准备