if-else 一般用于范围的判断 条件范围广 写什么都可以 而且判断是由上至下 有顺序问题,但是if-else只是单纯地一个接一个比较,效率比较低.
switch 用作分支情况较多的判断,判断条件类型单一,只有一个入口,在分支执行完后(如果没有break跳出)不加判断的执行下去,
switch的效率一般比if-else高 ,switch只计算一次值 .
if...else 是每个条件都要计算一遍的.
switch的效率与分支数无关
然而分支比较少的时候,if效率比switch高(因为switch有跳转表)
分支比较多,那当然是switch |