A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 学习者 初级黑马   /  2013-9-21 23:36  /  1139 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 学习者 于 2013-9-22 01:13 编辑
  1. ---------------------- <a target="blank">ASP.Net+Android+IO开发S</a>、<a target="blank">.Net培训</a>、期待与您交流! ----------------------

复制代码
switch 语句是多路分支语句,基本语法如下:
    switch(exper)
    {
        case value1;
            执行语句;
            break;
         case value2;
            执行语句;
            break;
        .......
        default:
            执行语句;
            break;
    }
一、在switch(exper)语句中exper表达式的类型只能是byte,short,int和char这四种类型。
     如:
     double a = 13.6;
     switch(a)       //编译出错,类型不匹配。
        {
             ..........
        }

二、case(value)语句中value为常量,各个case语句中的value表达式的值不同。
    如:
      int a = 13;b = 12;
    switch(a)       //编译出错,类型不匹配。
    {
        case 1:                                        //合法
            System.out.println("1");
            break;
          case b:                                     //编译出错,y不是常量              
            System.out.println("b");
            break;
         case 1:                                     //编译出错,不允许出现重复的case表达式
            System.out.println("1");
            break;
    }
三、在switch语句中最多只能有一个default语句,且是可选的,当switch表达式的值不与任何case语句匹配时,程序执行default语句,如果没有default语句,程序直接跳出switch语句。default语句可以放在switch语句中的任何位置。

四、如果switch语句表达式与某个case表达式匹配,或者与default匹配,就从这个case语句或default语句开始执行,如遇break语句出,否则一次执行后续case语句,不再检查case表达式的值。
    如:
     int a =5;
     switch(a)
          {
               default:
                    System.out.println("nono");
               case 1:
                    System.out.println("a");
                    //break;
               case 2:
                    System.out.println("b");
                    //break;
               case 3:
                    System.out.println("c");
                    break;
               case 4:
                    System.out.println("d");
      }
      打印结果为: nono
                          a
                          b
                          c
  1. ---------------------- <a target="blank">ASP.Net+Android+IOS开发</a>、<a target="blank">.Net培训</a>、期待与您交流! ----------------------

  2. 详细请查看:<a  target="blank">http://edu.csdn.net</a>
复制代码

2 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
你说的exper,并不限定具体类型,只要能让case语句块中抓取到对应的值就行。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马