我想现在(理论上)使用之间的区别是什么
if (a == x && b == y)
和
if (a == x){
if (b == y){
}
}
编辑:我的问题不是关于结果,而是关于表演的更多信息。我发现那种类型的表然后搜索它更有效,直接进行研究。我想知道这个是否有相同的东西,或者编译器只是将'和'替换为另一个if
谢谢
当你使用&&逻辑运算符时,如果第一次表达式为false,则不会计算第二次表达式。所以理论上两个例子都是一样的。
在第一种情况下:
if (a == x && b == y)
{
// code block
}
除非两个条件a == x && b == y为真,否则代码块永远不会执行
但在第二种情况下:
if (a == x)
{
// code block 1
if (b == y)
{
// code block 2
}
}
当只有第一个条件a == x为真时代码块1才会执行,但是当两个条件a == x && b == y为真时代码块2将执行
如果(a == x && b == y)
1)在这种情况下,值都应该为真,意味着它们必须满足条件,然后只有if条件才能满足。
另一方面 :
如果(a == x){
If( b == y){
}
}