【发布时间】:2012-02-07 00:11:02
【问题描述】:
我一直习惯于使用 if、else-if 语句而不是多个 if 语句。
例子:
int val = -1;
if (a == b1) {
return c1;
} else if (a == b2) {
return c2;
} ...
...
} else {
return c11;
}
与示例 2 相比如何:
if (a == b1) {
return c1;
}
if (a == b2) {
return c2;
}
....
if (a == b11) {
return c11;
}
我知道在功能方面它们是相同的。但是最好的做法是做 if else-if 还是 not?当我指出他可以以不同的方式构建代码库以使其更清洁时,我的一位朋友提出了这个问题。这对我来说已经是很长时间的习惯了,但我从来没有问过为什么。
【问题讨论】:
-
您指的是哪种语言? Java 还是 C++?
-
它对我来说是 java,但我已经将它用于 c++ 和 Java 很长时间了......
-
这是一个显着的区别,因为您可以在 C++ 中实现
operator==来做讨厌的(副作用)事情(这也对优化产生影响......)。 AFAICR 这在 Java 中不起作用。 -
由于比较不同的变量类型,有时使用 if-if-if 块语句很有效。就像在 JAVA 中一样,我正在检查名称、价格、金额是否都有值。由于 name 是 String 并且 price & amount 是 int,我将不得不做一个单独的 if 语句。这取决于您要处理的情况。