前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >流程控制-switch

流程控制-switch

作者头像
星哥玩云
发布2022-09-08 12:15:05
2280
发布2022-09-08 12:15:05
举报
文章被收录于专栏:开源部署

1、switch语句

在现实业务中,许多场景需要我们从多个固定的值中选出一个,执行该数值对应的操作。

1.1、switch语句的格式

​ switch (表达式){

代码语言:javascript
复制
	case 目标值1:执行语句1;break;

​ case 目标值2:执行语句2;break;

​ ......

​ case 目标值n:执行语句n;break;

​ default:执行语句n+1;break;

​ }

1.2、执行流程

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

1.3、流程图

在上面的格式中,switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应case后的语句,如果没找到任何匹配的值,就会执行default后的语句。break的作用是跳出switch语句。

1.4、案例

比如,在一周七天,当输入1-7会打印不同的星期。

代码语言:javascript
复制
/*
	需求:键盘输入对应1-7,输出对应的中文日期
	*/
import java.util.Scanner;
public class SwitchDemo01{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入星期对应的数字:");
		int week = sc.nextInt();//2
		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("您输入的数字有误!");break;
		}
		System.out.println("程序结束");
	}
}

运行结果:

1.5、案例优化

代码语言:javascript
复制
/*  
	需求:键盘输入对应1-7
	1-5:输出工作日
	6-7:输出休息日
	*/
import java.util.Scanner;
public class SwitchDemo02{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入星期对应的数字:");
        int week = sc.nextInt();//2

        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("您输入的数字有误!");break;
        }
        System.out.println("程序结束");
    }
}

运行结果:

1.6、注意事项

(1)switch表示这是switch语句

(2)表达式的取值只能是:byte,short,int,char,JDK5以后可以是枚举,JDK7以后可以是String

(3)如同if语句当中的else,default不是必须存在的,与if语句不同,switch语句只能完成具体值的选择,而不能指定取值区间,case后面跟的是要和表达式进行比较的值

(4)语句体部分可以是一条或多条语句

(5)break表示中断,结束的意思,可以结束switch语句,default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

(6)case条件只判断一次,在判断完一次case条件后,所有的case判断语句将不再起作用,而剩余语句正常执行。这是switch语句的穿透。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、switch语句
    • 1.1、switch语句的格式
      • 1.2、执行流程
        • 1.3、流程图
          • 1.4、案例
            • 1.5、案例优化
              • 1.6、注意事项
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档