Java--流程控制之选择语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Luojun13Class/article/details/82957774

前言

前面有介绍判断运算符 if / if - else / if - else if - else,这篇博客就总结一下选择语句switch.

内容

switch --选择语句

switch 翻译过来叫 开关 , switch 用于选择一个分支来执行
语句格式:

switch(表达式) {
  case 常量值1:
    语句体1;
    break;
  case 常量值2:
    语句体2;
    break;
  case 常量值3:
    语句体3;
    break;
  ...
  default:
    语句体n+1;
    break;
}

执行流程:

  1. 首先计算出表达式的值
  2. 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
  3. 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
    在这里插入图片描述
    代码展示:
public static void main(String[] args) {
    // 定义变量,判断是星期几
    int weekday = 6;
    //switch语句实现选择
    switch(weekday) {
        case 1:
          System.out.println("星期一");
          break;
        case 2:
          System.out.println("星期二");
          break;
        case 3:
          System.out.println("星期三");
          break;
        case 4:
          System.out.println("星期四");
          break;
        case 5:
          System.out.println("星期五");
          break;
        case 6:
          System.out.println("星期六");
          break;
        case 7:
          System.out.println("星期日");
          break;
        default:
          System.out.println("你输入的数字有误");
          break;
    }  
}

switch语句中,表达式的数据类型,可以是byte,short,int,char,enum(枚举),JDK7后可以接收字符串。

注意事项

case的穿透性
在switch语句中,如果匹配上一个case的值,直接向后运行,直到遇到break才结束。

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。

end

谢谢您的阅读!

猜你喜欢

转载自blog.csdn.net/Luojun13Class/article/details/82957774
今日推荐