黑马程序员技术交流社区

标题: If 和 switch有什么区别,以及在什么时候使用Switch [打印本页]

作者: kingmask    时间: 2016-4-28 23:00
标题: If 和 switch有什么区别,以及在什么时候使用Switch
If switch有什么区别,以及在什么时候使用Switch
      if:能判断具体的值,区间和boolean类型表达式,
       switch:只能对具体的值进行判断,值的个数是确定的,byteshortintchar
       if判断是遍历性的,代码执行效率是不高的。
       switch...case会生成一个跳转表来指示实际的case分支的地址,
       而这个跳转表的索引号与switch变量的值是相等的。
       在确切知道条件结果,并且结果有限下的条件下可以使用switch,如枚举
       在不能确切表示结果的情况下,或者处理复杂的逻辑关系最好用if...else
       在使用switch时候一定要注意break的使用。
       switch语句特点:
    1switch语句选择的类型只有四种:byteshortintchar
    2casedefault没有顺序。先执行第一个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