相同点,都可以对不同的条件作出不同的响应。
主要说下不同点:
(1)效率问题,switch和if-else相比,由于使用了Binary
Tree算法,绝大部分情况下switch会快一点,除非是if-else的第一个条件就为true.
(2)
switch比if...else
简洁。
(2)分支少的时候用if....else
效率高,而且程序可读性好。
都是分支语句,SWITCH一般用于多分支情况,就是有很多种情况需要判断处理。IF一般用于简单分支判断,可以用IF
ESLE实现SWITCH的功能,就是非常烦琐,要写很多代码。
switch
用作分支情况较多的判断,判断条件类型单一,只有一个入口,在分支执行完后(如果没有break跳出)不加判断的执行下去,
if
嵌套的分支主要适合于分支情况较少的分支结构,判断类型不是单一
只要一个分支被执行后,后边分支的不加选择的跳过