编写多个if
语句和if-else-if
语句之间有什么区别吗?
当我尝试编写包含多个if
语句的程序时,它没有给出预期结果,但它与if-else-if
一起使用。
条件相互排斥。
答案 0 :(得分:10)
当您编写多个if语句时,可能会将多个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;
}
}
将具有与以下相同的行为:
public void foo (int x)
{
if (x>5) {
...
}
else if (x>7) {
...
}
}
但是如果没有return语句,当x> 5和x> 7都为真时,它会有不同的行为。
答案 1 :(得分:0)
两者都不相同。 if语句将检查所有条件。如果你要编写多个if语句,它将检查每个条件。 如果否则将检查条件,直到满意为止。一旦if / else if满足,它就会超出该块。