Dan*_*Dan 14 java if-statement switch-statement
我很欣赏任何可以通过switch语句完成的事情都可以通过if else语句来完成.
但是,当有人应该使用开关而不是其他的声明时,是否有风格规则.
Joe*_*oey 16
嗯,在我看来,在switch
许多情况下感觉比" if
/ else if
梯子"更"轻" .基本上,您的代码方式中没有大括号和括号的语法.话虽如此,switch
继承了C的语法.这意味着break
除非您引入新块,否则您只有一个变量范围.
但是,编译器能够switch
在处理枚举时将语句优化到查找表中并对文字执行编译时检查.所以,我建议通常最好使用switch
over if
/ else if
if你正在处理数字或枚举类型.
Arm*_*est 11
Switch在清晰度方面具有一个优势:
switch (i) {
case 1:
// do something
break;
case 2:
case 4:
// do something
break;
case 5:
// do something
break;
}
Run Code Online (Sandbox Code Playgroud)
如果2和4的代码相同,则可能比以下更清楚:
if ( i == 1 ) {
// do something
}
if ( (i == 2) || (i == 4) ) {
// do something
}
if ( (i == 5 ) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
您(或其他程序员)也可以更容易地分割出2个和4个案例.