对于互斥条件,多个'if'语句和'if-else-if'语句是否相同?

arn*_*iya 7 java oop if-statement conditional-statements

编写多个if语句和if-else-if语句之间有什么区别吗?

当我尝试编写一个包含多个if语句的程序时,它没有给出预期的结果,但它可以使用if-else-if.

条件相互排斥.

Era*_*ran 12

当您编写多个if语句时,可能会将其中多个语句评估为true,因为这些语句是相互独立的.

当您编写单个if else-if else-if ... else语句时,只能将一个条件计算为true(一旦找到计算结果为true的第一个条件,则跳过下一个else-if条件).

如果每个条件块都突破包含if语句的块(例如,从方法返回或从循环中断),则可以使多个if语句表现得像单个if else-if .. else语句.

例如 :

public void foo (int x)
{
    if (x>5) {
        ...
        return;
    }
    if (x>7) {
        ...
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)

将具有与以下相同的行为:

public void foo (int x)
{
    if (x>5) {
        ...
    }
    else if (x>7) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

但是如果没有返回语句,当x> 5且x> 7都为真时,它将具有不同的行为.