case-statement或if-statement效率视角

six*_*ude 11 java performance if-statement case-statement

可能重复:
"else if"是否比"switch()case"更快?
Java中if/else与switch语句的相对性能差异是什么?

我知道case语句可以用跳转表来实现.这是否比if语句更有效?

这只是应该避免的微观优化吗?

dcp*_*dcp 35

我认为最重要的是尽可能清楚地编写代码.像这样的微观优化不应成为焦点.

例如,如果你有这样的东西:

if (age == 10) {
  // ...   
} else if (age == 20) {
  // ...   
} else if (age == 30) {
  // ...   
} else if (age == 40) {
  // ...   
}
Run Code Online (Sandbox Code Playgroud)

然后使用switch语句更清楚:

switch (age) {
    case 10:
        // ...
        break;
    case 20:
        // ...
        break;
    case 30:
        // ...
        break;
    case 40:
        // ...
        break;
}
Run Code Online (Sandbox Code Playgroud)

同样,我将专注于使代码最容易阅读和维护,而不是纳秒级效率增益.