使用if-else还是switch,最流行的方法是基于测试条件的数量判断:条件数量越大,越倾向于使用switch而不是if-else。这通常归结于代码的易读性。这个观点认为,当循环条件较少时if-else更易读,当条件数量较多时switch更易读。
if(true){
//代码处理
}else{
//代码处理
}
switch(found){
case true:
//代码处理
break;
default:
//代码处理
}
事实证明,大多数情况下switch比if-else运行的要快,但只有当条件数量很大时才快的明显。当条件增加时,if-else性能负担增加的程度比switch要多。因此我们更倾向于在条件数量较少时使用if-else,而在条件数量较大时使用switch,这从性能方面考虑也是合理的。
通常来说,if-else适用于判断两个离散值或几个不同的值域。当判断多于两个离散值时,switch语句是更佳选择。