switch case语句以及应用

本文介绍了Java中的switchcase语句,用于根据不同的输入值执行不同操作,提高代码可读性。讨论了case后面只能跟常量且值需唯一的特性,以及添加String支持的版本。同时,解释了case穿透现象,即当case后无break时,程序会继续执行后续case直到遇到break或结束。最后,提供了两个示例,展示了如何利用case穿透判断工作日和休息日。
摘要由CSDN通过智能技术生成

switch case语句以及应用


switch case 是一种多分支条件语句,它根据不同的输入值,执行不同的操作。当if else 分支较多时,使用switch case 语句通替代可以使代码更加简洁,也更易于理解。

  1. case后面只能是常量,不能是变量,而且多个case后面的值不能出现相同的。
  2. case后面的表达式可以接受:基本数据类型,byte,short,char,int;引用数据类型可以接受枚举(JDK1.5),String字符串(JDK1.7)。

switch case语句

switch case的一般形式如下:
switch (表达式)
{
    case 常量表达式1:    语句1
    case 常量表达式2:    语句2
          .
          .
          .
    case 常量表达式n:    语句n
    default:        语句n+1
}
switch case的应用如下:
    public static void switchCaseTest() {
        String season = "Spring";
        switch (season) {
            case "Spring":
                System.out.println("Spring是:" + 3 + "," + 4 + "," + 5 + "月份");
                break;
            case "Summer":
                System.out.println("Summer是:" + 6 + "," + 7 + "," + 8 + "月份");
                break;
            case "Autumn":
                System.out.println("Autumn是:" + 9 + "," + 10 + "," + 11 + "月份");
                break;
            case "Winter":
                System.out.println("Winter是:" + 12 + "," + 1 + "," + 2 + "月份");
                break;
            default:
                System.out.println("没有这个季节!");
        }
    }

case穿透现象

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

输入一个数字(1-7)星期,判断是工作日还是休息日,
不使用case穿透 输出判断结果是工作日还是休息日:
   public static void switchCaseTest2() {
        int week = 1;
        //用switch进行判断
        switch (week) {
            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("没有这个星期!");
        }
    }
输入一个数字(1-7)星期,判断是工作日还是休息日,
使用case穿透 输出判断结果是工作日还是休息日:
 public static void switchCaseTest2() {
        int week = 6;
        //用switch进行判断
        switch (week) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("工作日");
                break;
            case 6:
            case 7:
                System.out.println("休息日");
                break;
            default:
                System.out.println("没有这个星期!");
        }
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值