给定以下代码段,有什么明显的区别?
public boolean foo(int input) {
if(input > 10) {
doStuff();
return true;
}
if(input == 0) {
doOtherStuff();
return true;
}
return false;
}
与
public boolean foo(int input) {
if(input > 10) {
doStuff();
return true;
} else if(input == 0) {
doOtherStuff();
return true;
} else {
return false;
}
}
还是单出口原则在这段代码中会更好…
public boolean foo(int input) {
boolean toBeReturned = false;
if(input > 10) {
doStuff();
toBeReturned = true;
} else if(input == 0) {
doOtherStuff();
toBeReturned = true;
}
return toBeReturned;
}
有没有明显的性能差异?您是否觉得其中一个比另一个更可维护/可读?
在第二个示例中,您非常清楚地指出两个条件是互斥的。
对于第一个,并不清楚,并且在(不太可能)的事件中,input
在两个if之间添加to的分配,逻辑将发生变化。
假设将来有人在input = 0
第二个if之前添加。
当然,这不太可能发生,但是如果我们在这里谈论可维护性,if-else明确指出存在相互排斥的条件,而一堆if则没有,并且它们之间的依存程度不如if -其他块。
编辑:现在,在这个特定示例中,我看到return子句强制了相互排他性,但是再次,我们正在谈论可维护性和可读性。
无论如何,关于性能,如果它是用Java编码的,那么您不应该关心几个if块的性能,如果它是嵌入在速度很慢的硬件中的C,也许,但肯定不是Java。
问题内容: 我想知道为什么要使用一个语句而不是多个语句?例如,这样做之间有什么区别: 还有这个: 他们似乎做的完全一样。 问题答案:
本文向大家介绍if-else和switch之间的区别,包括了if-else和switch之间的区别的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将了解if-else语句和'switch'语句之间的区别。 if-else 根据语句中的表达式,将生成输出。 它对多个选择使用多个语句。 该语句测试是否相等。 它可以用来测试逻辑表达式。 它可以计算整数,字符,指针,浮点类型和布尔类型。 仅执行“
问题内容: 两者之间有什么区别吗? …和… ? 问题答案: 它们是相同的,但是如果您的代码中包含MVC并且不想在代码中产生大量回声,那么第二个方法就很棒。例如,在我的文件(Zend Framework)中,我将编写如下内容:
if语句后面可以跟一个else if...else语句,这对于使用单个if ... else if语句测试各种条件非常有用。 当使用if, else if, else语句时,要记住几点。 一个if可以有零个或一个else的,它必须在任何其他if之后。 一个if可以有零到多个else if是,他们必须在其他之前。 一旦else if成功, else if任何其他else if else不会被测试。
if语句构造可以有一个或多个可选的else-if构造。 当if条件失败时,紧接着执行else-if 。 当else-if也失败时,执行其后继else-if语句(如果有的话),依此类推。 可选的else放在最后,当上述任何条件都不成立时执行。 所有其他语句(else-if和else)都是可选的。 else-if可以使用一次或多次。 else必须始终放在构造的末尾,并且只能出现一次。 语法 (Synt
如果{}和if之间有什么区别 ? 举个例子 vs. 以及具有和的类? 举个例子 VS