if-else

只是单纯地一个接一个比较if...else每个条件都计算一遍

switch

使用了Binary Tree算法绝大部分情况下switch会快一点,除非是if-else的第一个条件就为true编译器编译switch与编译if...else...不同。不管有多少case,都直接跳转,不需逐个比较查询switch只计算一次值,然后都是test , jmp。

ifelse和switch的区别

1、语法的比较 使用时,if需要配合else关键字,switch需要配合case关键字if语句是先对条件进行判断,而switch语句是先进行后判断。

2、效率的比较 if...else结构对少量的检验,判断速度比较快。但是随着检验速度的增长,会逐渐变慢,并且也不容易进行后续的条件的补充。