如果你有这样的代码:
if (A > X && B > Y)
{
Action1();
}
else if(A > X || B > Y)
{
Action2();
}
With A > X
and B > Y
,将两个部分if-else-if
梯子被执行?
我正在处理存在此问题的 Java 代码。我通常使用 C++ 工作,但我是这两种语言的新手(且零星)程序员。
不,他们不会同时执行。它按照你如何编写它们的顺序排列,从逻辑上讲这是有道理的;即使第二个读作“else if”,您仍然可以将其视为“else”。
考虑一个典型的 if/else 块:
if(true){
// Blah
} else{
// Blah blah
}
如果你的第一个陈述是正确的,你甚至不需要考虑在其他情况下需要做什么,因为它是不相关的。同样,如果你有“if/elseif”,你就不会浪费时间查看后续的块,因为第一个块是真的。
一个现实世界的例子可以是评分。你可以尝试这样的事情:
if(grade > 90){
// Student gets A
} else if(grade > 80){
// Student gets B
} else if(grade > 70){
// Student gets c
}
如果学生得分为 99%,则所有这些条件都成立。但是,您不会分配学生 A、B 和 C。
这就是为什么顺序很重要。如果我执行此代码,并将 B 块放在 A 块之前,您将为同一个学生分配 B 而不是 A,因为 A 块不会被执行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)