在Java中,a和b是布尔值,a&& b和b& a是否会评估相同的结果?

时间:2016-07-27 08:40:30

标签: java boolean logical-operators

所以我去年在Comp Sci期中遇到了这个问题,我仍然无法弄清楚为什么&amp;&amp; b和b&amp; a&amp; a 不能评估相同的结果 < / p>

我看到它的方式,有4种可能的情况:

  1. A为TRUE且B为TRUE:
    • True&amp;&amp;真是真的
  2. A为TRUE且B为FALSE:
    • True&amp;&amp;假是假和假&amp;&amp; True也是假的
  3. A为FALSE且B为TRUE:
    • 虚假&amp;&amp;真是假和真&amp;&amp;假是假的
  4. A为FALSE且B为FALSE:
    • 虚假&amp;&amp;假是假的
  5. 然而,期中和教授的修正说,&amp;&amp; b和b&amp; a并不总是评估相同的结果。

    编辑:我看不出这是“操作员短路”的重复......我绝不会问关于AND操作的第一部分的问题......我问两个部分而且这是一个重复的“原始”问题并没有回答我的问题。

1 个答案:

答案 0 :(得分:0)

是的,你会得到相同的结果。但是如果你有a&&b而a是FALSE那么Java就不会评估b并且会说结果是假的。