黑马程序员技术交流社区
标题: If 和 switch有什么区别,以及在什么时候使用Switch [打印本页]
作者: kingmask 时间: 2016-4-28 23:00
标题: If 和 switch有什么区别,以及在什么时候使用Switch
If 和 switch有什么区别,以及在什么时候使用Switch
if:能判断具体的值,区间和boolean类型表达式,
switch:只能对具体的值进行判断,值的个数是确定的,byte,short,int,char。
if判断是遍历性的,代码执行效率是不高的。
而switch...case会生成一个跳转表来指示实际的case分支的地址,
而这个跳转表的索引号与switch变量的值是相等的。
在确切知道条件结果,并且结果有限下的条件下可以使用switch,如枚举
在不能确切表示结果的情况下,或者处理复杂的逻辑关系最好用if...else,
在使用switch时候一定要注意break的使用。
switch语句特点:
1、switch语句选择的类型只有四种:byte,short,int,char。
2、case与default没有顺序。先执行第一个case,没有匹配的case执行default。
3、结束switch语句的两种情况:①遇到break,②执行到switch语句结束。
4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
5、进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case上面,执行顺序也不变。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |