zoukankan      html  css  js  c++  java
  • 选择语句

    switch语句

    语句格式:

     

    执行流程:

    1、首先计算出表达式的值

    2、其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
    3、最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

    4、 switch 后面小括号中表达式的值必须是整型或字符型

    5、 case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2

    case的穿透性

    在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。

    例子:

    public static void main(String[] args) {
    int i = 5;
    switch (i){
      case 0:
        System.out.println("执行case0");
        break;
      case 5:
        System.out.println("执行case5");
      case 10:
        System.out.println("执行case10");
      default:
        System.out.println("执行default");
    }
    }

    上述程序中,执行case5后,由于没有break语句,程序会一直向后走,不会在判断case,也不会理会break,直接运行完整体switch。

    由于case存在穿透性,因此初学者在编写switch语句时,最好要写上break。

    注意事项:

    • 最后一个default语句可以省略

    • 多个case后面的数值不能相同

    • switch语句格式可以灵活使用:前后语句顺序可以颠倒,break语句也可以省略

    • switch后面的小括号中只能放以下数据类型:基本数据类型: int short byte char 引用数据类型:String 字符串 enum枚举

  • 相关阅读:
    [NOIp2016] 天天爱跑步
    状压DP小拼盘
    DP × KMP
    KMP算法 详解+模板
    [NOI2014] 起床困难综合症
    [洛谷P3391] 文艺平衡树 (Splay模板)
    START
    【C】单链表的实现
    【数据结构】动态顺序表
    C语言实现扫雷程序
  • 原文地址:https://www.cnblogs.com/libinhong/p/10988652.html
Copyright © 2011-2022 走看看