**

switch语句和case语句的特性

**

switch语句格式:

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

执行顺序:

  1. 首先计算表达式的值;
  2. 然后,和case的值依次进行比较,遇到相对应的值就会匹配对应的结果,遇到break,就会退出整个循环;
  3. 如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。;
public class Dome01 {
//    判断星期几public static void main(String[] args) {int day=6;switch (day){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("你输入的数字有误");}}
}


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

case语句的穿透性

//    没有break语句的时候
public class Dome01 {
//    判断星期几public static void main(String[] args) {int day=4;switch (day){case 1:System.out.println("星期一");case 2:System.out.println("星期二");case 3:System.out.println("星期三");case 4:System.out.println("星期四");case 5:System.out.println("星期五");case 6:System.out.println("星期六");;case 7:System.out.println("星期七");default:System.out.println("你输入的数字有误");}}
}


缺少break语句的时候,case将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。

利用case语句的穿透性

case语句拥有穿透性,我们可以根据这个特性,判断这天属于本月的上旬,中旬或者下旬。
我们规定1-10为上旬,11-20为中旬,21-31为下旬。

public class Dome01 {public static void main(String[] args) {int day=14;switch (day){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:System.out.println("今天是"+day+"日,本月上旬");break;case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:System.out.println("今天是"+day+"日,本月中旬");break;case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:System.out.println("今天是"+day+"日,本月下旬");break;default:System.out.println("你输入的数字有误");}}
}


由于case存在穿透性,因此初学者在编写switch语句时,必须要写上break。

switch语句和case语句的特性相关推荐

  1. (24)Verilog HDL条件语句:case语句

    (24)Verilog HDL条件语句:case语句 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL条件语句:case语句 5)结语 1.2 FP ...

  2. case zhen语句_switch case语句,switch case用法详解

    switch 是"开关"的意思,它也是一种"选择"语句,但它的用法非常简单.switch 是多分支选择语句.说得通俗点,多分支就是多个 if. 从功能上说,sw ...

  3. java switch 表达式_switch case语句错误:case表达式必须是常量表达式

    问题 我的switch-case语句昨天完美无缺.但是当我今天早些时候运行代码时,eclipse给了我一个错误,用红色突出显示case语句并说:case表达式必须是常量表达式,它是常量我不知道发生了什 ...

  4. Linux高级专题详解--shell编程大全(shell变量,if语句,case语句,for循环,while循环,函数调用,数组,正则表达式,shell脚本三剑客--grep,sed,awk家族)

    shell编程 初始shell 程序 语言 编程 ---------------------------------- 语言 自然语言:汉语.英语 计算机语言:c语言.c++.(java php py ...

  5. shell之case和循环语句(case语句的格式与举例)(for循环,while循环until循环语句的详解和continue,break解释, 九九乘法口诀表 ,等腰三角形)

    文章目录 shell编程之case语句与循环语句(for,while) case多分支语句 case语句的实例 使用for循环语句 for语句实例 用循环语句输出1-10的数字的五种办法 计算偶数/奇 ...

  6. php中的select case语句吗,VBS教程:VBScript 语句-Select Case 语句

    Select Case 语句 根据表达式的值执行几组语句之一. Select Case testexpression [Case expressionlist-n [statements-n]] . ...

  7. php case 多个条件判断语句,Shell case语句(多分支条件判断)

    case 语句和 if-elif-else 语句一样都是多分支条件语句,不过和多分支 if 条件语句不同的是,case 语句只能判断一种条件关系,而 if 语句可以判断多种条件关系. case 语句的 ...

  8. verilog 中if....else语句以及case语句详细理解

    1.if else: (1)if(表达式)语句: (2)if(表达式) 语句一else语句二 (3)if(表达式1) 语句一:else if(表达式2) 语句2:else if(表达式3) 语句3:e ...

  9. Verilog中if- else if语句和case语句用法:

    一.if语句: 1.两种情况 if(条件语句)begin-- end else begin-- end 2.多种情况 if(条件语句)begin-- end else if(条件语句)begin-- ...

最新文章

  1. Hi3516ampp编译错误之ls: cannot access '/hiwork/osdrvhi3516a.C02': No such file or directory
  2. nodejs npm常用命令
  3. linux下织梦cms安装环境配置文件,Mac本地环境配置以及安装织梦CMS,增加新的坑解决办法...
  4. php fopen 错误,php fopen函数失败怎么办
  5. CodeForces - 1418G Three Occurrences(线段树-标记永久化)
  6. html class和id,css教程之样式表的基本语法(二) class(类)和id的一个小实例
  7. [转]Android 常见安全漏洞修复理论与实践
  8. mysql proxy 主从_【MYSQL知识必知必会】MySQL主从复制读写分离(基于mysql-proxy实现)...
  9. 《SpringBoot揭秘:快速构建微服务体系》—第1章1.2节微服务因何而生
  10. python变量类型字符串的内建函数使用
  11. Rest上传文件(利用jersey)
  12. 专升本英语——应试题型突破——翻译——固定搭配【学习笔记】
  13. 五十一个经典小故事5
  14. 机器人焊钳选型_焊接机器人选型资料
  15. Fernando Torres
  16. springmvc GET POST 接受参数方式
  17. 关于获取电信光猫超级密码
  18. Nexmo 短信平台接口 遇到的坑
  19. 百度AI开发者语音转文字python实现
  20. 毕业设计之 ---基于大数据分析的航空公司客户价值分析

热门文章

  1. 数字引领未来,第七届粤港澳大湾区跨界融合产业创新交流会圆满举行
  2. LDA计算 perplexity(困惑度)确定主题个数(代码)
  3. 算法设计手册(第2版)读书笔记, Springer - The Algorithm Design Manual, 2ed Steven S.Skiena 2008
  4. 网易云和腾讯互掐起来了?鸿蒙“后院”起火了
  5. 简单javascript计算器
  6. html中内联元素是什么意思,html中的块元素和内联元素的区别
  7. 杭电1873题 看病要排队
  8. python产生随机数种子_python – 如何检索NumPy随机数生成器的当前种子?
  9. Redis6.0.4 服务器集群搭建
  10. android解压ZIP文件