一个小案例理解case穿透、switch语句
一.用case穿透简化代码以一个小案例为例:键盘录入星期数,输出工作日、休息日(1-5)工作日,(6-7)休息日
package test;import java.util.Scanner;public class Test15 {public static void main(String[] args) {/*需求:键盘录入星期数,输出工作日、休息日(1-5)工作日,(6-7)休息日*///1.键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入今天星期几");int week = sc.nextInt();//2.用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("超出范围");}
总结:从代码中可以看出代码有些烦,
二.case的执行,什么是case穿透,case穿透使用场景
1.case执行流程:
首先还是会拿着小括号中表达式跟下面每一个case进行匹配。 如果匹配上了,就会执行对应的语句体,如果此时发现了break,那么结束整个Switch语句。 如果没有发现break,那么程序会继续执行下一个case的语句,一直到break或者右大括号为止。
2.case穿透 就是语句中没有break导致的
3.使用场景: 如果多个case的语句体重复了,那么我们考虑利用case穿透去简化代码
如下使用case穿透后简化的代码
import java.util.Scanner;public class Test15 {public static void main(String[] args) {/*需求:键盘录入星期数,输出工作日、休息日(1-5)工作日,(6-7)休息日*///1.键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入今天星期几");int week = sc.nextInt();//2.用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("超出范围");}}
}
进一步简化代码:一下代码仅支持jdk14
switch (week){case 1,2,3,4,5:System.out.println("工作日");break;case 6,7:System.out.println("休息日");break;default:System.out.println("超出范围");}
一个小案例理解case穿透、switch语句相关推荐
- Python:通过一个小案例深入理解IO多路复用
通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import timestart = time.time()u ...
- 用一个小案例来解释linux中文件或目录的权限
Linux中文档和目录的权限 众所周知 , Linux中文档的权限包括所有者权限(User).同组权限(Group)和其他权限(Other).使用rwx来作为表示,分别为read.write和exec ...
- 爬虫的一个小案例:python实现英汉互译
什么是网络爬虫? 网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序.众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容. 一个小案例:py ...
- switch case穿透Java_Switch语句的case穿透
Switch语句的case穿透 一 switch语句几点说明: 1. case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的. 2.case后面表达式可以接受: 基本数据类型,b ...
- php中switch语句的理解,php中switch语句的使用详解
我们之前给大家介绍了关于php中switch语句的介绍,我们都知道php中switch语句是循环语句,是一个开关语句,那么很多朋友都只知道简单的switch开关语句的用法了,今天就带大家了解一下php ...
- php switch case default,switch语句中必须有default选项吗?
switch语句中不是必须有default选项的.switch语句首先会找满足条件的case值做为执行后面的程序入口,若所有的case都不满足,则找default入口,若未找到则退出整个语句:defa ...
- c语言switch case 空,switch语句中case为空时的意义
switch语句中case为空时的意义 一成绩单的程序 void main() {float score; printf("input score:\n"); scanf(&quo ...
- 英雄联盟的小案例理解Java中如何实现OCP原则
案例: 英雄联盟的英雄.道具.地图,每年都会进行频繁变更 如果没有使用软件工程的开发思想,随便改其中一个道具的属性,就可能会导致非常严重的错误 要实现变更/增加英雄时,可选英雄数量和玩家开始一局游戏时 ...
- 一个小案例精通lamda表达式与函数式接口
前言:只有基础(多态.匿名接口实现类)足够扎实才能更好的学习花拳绣腿(lamda表达式),Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性.Lambda 允许把函数作为一 ...
最新文章
- linux命令行运行c程序,如何在Linux中编写和运行C程序
- 信息系统项目管理师:第4章:项目整体管理与变更管理(3)
- Magic Powder - 2
- php封装一个加密算法,PHP封装的非对称加密RSA算法示例
- hana studio版本和hana版本的区别
- 2020CCPC威海
- mybatis学习(2):基本设置和核心配置
- (转)Spring Boot (十四): Spring Boot 整合 Shiro-登录认证和权限管理
- Spring :基于@Transactional注解的声明式事物
- python 多列对齐_python – 如何连接两个数据帧并在这样的特定列上对齐?
- PostgreSQL 递归查询 (转)
- 太阳代理ip_IP直通车 | 冬季之始,你知多少
- 如何从零开始搭建SRE?
- TokenInsight 对话首席——2019年底层公链机会展望
- OPTIONS方法禁用
- 浅谈什么是 云原生
- 「磨金石教育学员插画作业」什么是日系插画?
- WinX菜单是Win8系统开始菜单的下一代
- C语言-链表-添加到链表尾部
- xHiveAI-A311D:AI开发套件