&&;java中的and | |运算符
此代码打印&&;java中的and | |运算符,java,operator-keyword,Java,Operator Keyword,此代码打印“是”。表示首先执行“||” 这本书错了吗?或者我的解释错了。我想你的解释错了。由于&&具有更高的优先级,因此计算顺序为 if(true&&false||true) { System.out.println("yes"); } 那是 (true && false) || true 我想你的解释是错误的。由于&&具有更高的优先级,因此计算顺序为 if(true&&false||true) { System.ou
“是”
。表示首先执行“||”
这本书错了吗?或者我的解释错了。我想你的解释错了。由于
&&
具有更高的优先级,因此计算顺序为
if(true&&false||true)
{
System.out.println("yes");
}
那是
(true && false) || true
我想你的解释是错误的。由于
&&
具有更高的优先级,因此计算顺序为
if(true&&false||true)
{
System.out.println("yes");
}
那是
(true && false) || true
你的口译被取消了。如果我们遵循这本书,您的If语句可以重新编写并保持相同的含义
false || true -> true
现在很容易看出,这实际上是正确的,因此打印“是”。您的解释是错误的。如果我们遵循这本书,您的If语句可以重新编写并保持相同的含义
false || true -> true
现在很容易看出,这实际上是真的,因此打印出“是”
true&&false
=>false
false | | true
=>true
是
true&&false
=>false
false | | true
=>true
因此,没有问题,因为and语句首先执行,然后是or语句。代码的预期结果是
yes
您的解释是错误的
true&&false->false
false | | true->true
预计会打印“是”您的解释是错误的
true&&false->false
false | | true->true
如果(真和假)=>如果(假)
=>如果(假)
如果(真),它将打印“是”if(真)
和真值表:
if( (true && false) || true)
F & F = F
T & F = F
F & T = F
T & T = T
或真值表:
if( (true && false) || true)
F & F = F
T & F = F
F & T = F
T & T = T
if(true&&false | | true)
=>if(false | | true)
=>if(true)
和真值表:
if( (true && false) || true)
F & F = F
T & F = F
F & T = F
T & T = T
或真值表:
if( (true && false) || true)
F & F = F
T & F = F
F & T = F
T & T = T
仔细观察,因为它们是短路的
因此,第一部分:
F | F = F
T | F = T
F | T = T
T | T = T
那么你有:
true&&false // evaluates to false
第一部分为假,但第二部分可能为真(事实上也是如此),因此它会检查第二部分,发现它为真,从而返回真
因此,第一部分:
F | F = F
T | F = T
F | T = T
T | T = T
那么你有:
true&&false // evaluates to false
第一部分为假,但第二部分可能为真(事实上也是如此),因此它会移动来检查第二部分,查看它是否为真,从而返回真如果更改表示形式,您可以更清楚地看到它,例如:
false || true
如果&
优先,则您有(true | | |(true&&false))
这将为真,因此将打印“是”
如果| |
开始,您将拥有((真| |真)和&false)
这将是错误的,并将打印出“否”
如果运行上述代码,您将看到结果为“yes”,因此&&&
具有相关性。如果更改表示形式,您可以更清楚地看到它,例如:
false || true
如果&
优先,则您有(true | | |(true&&false))
这将为真,因此将打印“是”
如果| |
开始,您将拥有((真| |真)和&false)
这将是错误的,并将打印出“否”
如果您运行上述代码,您将看到结果为“yes”,因此&&&
具有优先性。首先计算&&&。。。但“or”| |的一面为真,因此整个表达式的计算结果为“真”
首先计算&&。。。但“or”| |的一面为真,因此整个表达式的计算结果为“真”
这不是一个有效的测试。(真与假)=假。false | | true==true。这不是有效的测试。(真与假)=假。假| |真==真。