如果你可以创建另一个if语句,为什么要使用if-else语句?
多个ifs的示例:
input = getInputFromUser()
if input is "Hello"
greet()
if input is "Bye"
sayGoodbye()
if input is "Hey"
sayHi()
Run Code Online (Sandbox Code Playgroud)
使用else-if的示例:
input = getInputFromUser()
if input is "Hello"
greet()
else if input is "Bye"
sayGoodbye()
else if input is "Hey"
sayHi()
Run Code Online (Sandbox Code Playgroud)
Bri*_*tow 14
如果您有非独家条件:
if(a < 100)
{...}
else if (a < 200)
{...}
else if (a < 300)
....
Run Code Online (Sandbox Code Playgroud)
这与没有"else"的相同代码有很大不同......
Mic*_*tum 13
它的性能也更高.
在您的第一个示例中,即使输入为"Hello",也会检查每个 if.所以你有三张支票.
在第二个示例中,执行将在找到分支后停止,因此如果用户键入"Hello",则只有一个检查而不是三个.
在您的简单示例中,差异可能不大,但想象您正在执行可能很昂贵的功能,您可能会看到差异.
你的意思是这样的:
if (a == true && b == false && c == 1 && d == 0) {
// run if true
}
if (a == false || b == true || c != 1 || d != 0) {
// else
}
Run Code Online (Sandbox Code Playgroud)
维护其他声明会更清晰,更容易维护.
如果你需要从给定的一组动作中选择一个动作,根据某些条件,自然和最明确的选择是切换(不要忘记在每个分支后断开)或if和else的组合.当我写作
if (conditon1)
{
action1();
}
else if (condition2)
{
action2();
}
else if (conditon3)
{
action3();
}
.
.
.
else {
action_n();
}
Run Code Online (Sandbox Code Playgroud)
读者清楚地知道要执行一个动作.而且由于条件错误,不可能执行多个动作.