zoukankan      html  css  js  c++  java
  • C语言 switch default的位置

    switch中的default,一般用在最后,表示非以上的任何情况下而发生的情况,我们一般习惯在他的后面加上个break。但是,如果default不是在最后,而是在前面或中间会发生什么情况呢:

    先看看default在句首的情况:
    int i = 2;
    switch (i) {
      default:
       System.out.println("default");
      case 0:
       System.out.println("0");
      case 1:
       System.out.println("1");
      case 2:
       System.out.println("2");
        break;
      case 3:
       System.out.println("3");
      case 4:
       System.out.println("4");
        break;
    }
    他的输出结果是:2! 很明显,不是先执行的default语句!
    再看看下面语句:
    int i = 8;
    switch (i) {
      default:
       System.out.println("default");
      case 0:
       System.out.println("0");
      case 1:
       System.out.println("1");
      case 2:
       System.out.println("2");
        break;
      case 3:
       System.out.println("3");
      case 4:
       System.out.println("4");
        break;
    }
    他的输出结果是:
    default
    0
    1
    2
    出人意料!!从default开始向后执行!
    再看看default在句中的情况:
    int i = 2;
    switch (i) {
      case 0:
       System.out.println("0");
      case 1:
       System.out.println("1");
        break;
      default:
       System.out.println("default");
      case 2:
       System.out.println("2");
        break;
      case 3:
       System.out.println("3");
      case 4:
       System.out.println("4");
        break;
    }
    结果是2!显然还是没执行default!
    int i = 8;
    switch (i) {
      case 0:
       System.out.println("0");
      case 1:
       System.out.println("1");
        break;
      default:
       System.out.println("default");
      case 2:
       System.out.println("2");
        break;
      case 3:
       System.out.println("3");
      case 4:
       System.out.println("4");
        break;
    }
    结果:
    default
    2
    显然是从default开始向后执行的!

    从上面可以看出:
    switch default 之前的case按顺序执行(首先确定是否命中case,命中case,从命中case开始执行),最后执行default,如果default 没有break,继续执行default之后语句,直到跳出switch

  • 相关阅读:
    PHP + JQuery 实现多图上传并预览
    推荐40个专业的CMS下载
    10 个有用的 PHP 代码
    2012年最值得关注最具颠覆性的10个创业公司
    在线生成 CSS3 的工具
    循环显示/隐藏图片
    100个推荐的图片/内容滑动条
    jQuery 下拉菜单插件
    20个网站测试工具
    20个免费在线生成网站
  • 原文地址:https://www.cnblogs.com/loongqiang/p/3555349.html
Copyright © 2011-2022 走看看