下面是一个Java代码,应该评估为false,因为 b = false 评估为' false '和b被赋值 false 。 OR 条件的第二部分是 b == true ,这也是错误的 b false 。但是,当我在 Dr中测试运行此代码时。 Java编辑器我的输出为 检查为真
boolean b=true;
if(b=false || b==true)
System.out.println("check true");
答案 0 :(得分:4)
表达式(b = false || b == true)
的评估方式与(b = false) || (b == true)
不同,
但是像b = (false || (b == true))
一样,如果b为真,则为真。
关键点是运算符优先级,请参阅http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html
答案 1 :(得分:1)
下面
boolean b=true;
if(b=false || b==true)
现在这相当于
if(b= b == true)
我们可以将其简化为
if(b=b)
现在b=b
是true