JAVA 系列——>选择语句switch...case

switch…case 简介

格式:

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

执行流程

首先,计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
最后,如果所有的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,将出现穿透现象,也就是不会在判断下一个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。

发布了37 篇原创文章 · 获赞 24 · 访问量 662

猜你喜欢

转载自blog.csdn.net/qq_16397653/article/details/103639564
今日推荐