当前位置: 首页 > news >正文

04-选择语句

  • 选择语句
    • switch语句格式
      • 例题
    • case穿透
      • 例题
    • 箭头标签
    • switch可以有运行结果
    • yield关键字

选择语句

switch语句格式

switch(表达式){case1:语句;break;case2:语句;break;……default:语句;break;
}

1.首先计算表达式的值
2.依次与case后面的值进行比较:
如果有对应的值,就执行语句,遇到break就跳出Switch语句;
如果没有对应的值,就执行default
3.表达式的结果: 字符/整数/枚举/字符串 (不能是小数,long类型)
错误实例

 double weekday1 = 1.5;switch(weekday1) {case 1.5 :System.out.println("红烧排骨");break;}

[运行结果]

java: selector type double is not allowed
//代码报错,表达式结果不能是小数

4.case后是真实数据或字符串,不能重复
5.default通常写在最后,表示所有case都不匹配时执行的代码。也可以写在前面,但一般不会那样做

例题

假设一个菜单
周一是红烧排骨,
周二是辣椒炒肉,
周三是清蒸鱼,
周四是可乐鸡翅,
周五是牛肉火锅,
键盘录入日期,查看那天的菜单

public static void main(String[] args) {//键盘录入日期System.out.println("输入今天的星期数(1~5):");Scanner sc = new Scanner(System.in);int weekday = sc.nextInt();//选择语句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;default :System.out.println("日期输入错误");break;}/*一定要考虑输入错误这种特殊情况,某些严重情况可能会导致程序卡住或者数据溢出*/}

[运行结果1]

输入今天的星期数(1~5):
8
日期输入错误

[运行结果2]

输入今天的星期数(1~5):
4
可乐鸡翅

case穿透

case 1:
case 2:
case 3:语句;break;

表达式结果为1/2/3,都执行语句

例题

假设周一周二周三的主食都是米饭,周四周五的主食都是面条,键盘录入日期,查看当天的主食

public static void main(String[] args) {//键盘录入日期System.out.println("输入今天的星期数(1~5):");Scanner sc = new Scanner(System.in);int weekday = sc.nextInt();//case穿透switch(weekday){case 1:case 2:case 3:System.out.println("米饭");break;case 4:case 5:System.out.println("面条");break;default :System.out.println("日期输入错误");break;}}

[运行结果1]

输入今天的星期数(1~5):
1
米饭

[运行结果2]

输入今天的星期数(1~5):
2
米饭

箭头标签

case 1 :语句;break;

可以写成

case 1 ->{语句;//注意没有break
}

        switch(weekday) {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("牛肉火锅");}default ->{System.out.println("日期输入错误");}}}

在语句只有一条的情况下,还可以写成

case 1 ->语句;

switch(weekday) {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("牛肉火锅");default ->System.out.println("日期输入错误");}

case后面可以写多个值

case 1,2,3 -> {语句;
}

switch(weekday){case 1,2,3->{System.out.println("米饭");}case 4,5->{System.out.println("面条");}default ->{System.out.println("日期输入错误");}}

或者

case 1,2,3 ->语句; 

switch(weekday){case 1,2,3-> System.out.println("米饭");case 4,5-> System.out.println("面条");default -> System.out.println("日期输入错误");}

switch可以有运行结果

 String food = switch(weekday){case 1,2,3->{yield"米饭";}case 4,5->{yield"面条";}default ->{yield"日期输入错误";}};
  • 是String/int/char,关键在返回值的数据类型
  • 这种写法适合“需要分支结果赋值给变量”的场景
  • 小贴士:{ }外要加;

yield关键字

yield用于显示返回分支的结果并终止switch

case 1,2,3->{yield"米饭";}

也可以省略写为

 case 1,2,3->"米饭";

以上就是java选择语句的基础内容了。下一篇我们将学习循环语句,欢迎继续关注蓝猫学姐的java学习笔记~

http://www.jsqmd.com/news/750480/

相关文章:

  • 终极视频播放加速指南:5个秘诀让你观看效率翻倍
  • 5分钟掌握TranslucentTB:让Windows任务栏透明化的终极指南
  • 5月实测南京黄金回收服务,福正美无隐形消费排名榜首 - 福正美黄金回收
  • 国内专业食品包装设计公司排名榜单:爆款食品动销包装首选哲仕 - 设计调研者
  • 一站式图像与纹理查看器:Tacent View 终极解决方案
  • 中央戏剧学院考研辅导班推荐:排名深度评测与选哪家分析 - michalwang
  • 从测试数据到仿真模型:如何用Simcenter T3STER校准你的Package Creator封装模型(实现99%精度)
  • 新手入门指南使用Python快速调用Taotoken上的大模型API
  • CPPM培训机构师资对比:讲师背景 - 众智商学院官方
  • 保姆级教程:从差异基因列表到发表级GSEA图,手把手教你用R/msigdbr/fgsea全流程
  • B站缓存视频转换实战指南:m4s-converter的5个高级使用技巧
  • 旅游推荐管理系统 【答辩文档】
  • 衢州黄金上门回收天花板!2026 闭眼选 福正美黄金回收 - 福正美黄金回收
  • 炉石传说脚本:3大核心功能解决你的日常对战烦恼
  • VideoDownloadHelper技术深度解析:跨平台视频URL智能提取实现原理
  • AMD Ryzen SMU调试工具:5步解锁处理器隐藏性能的终极指南
  • 魔兽争霸3终极优化指南:5分钟告别卡顿与显示异常
  • 手头有大润发购物卡想回收?2026三种主流方式对比,哪家更划算? - 可可收
  • PowerVR Series 1 GPU驱动开源:历史意义与技术解析
  • 5分钟快速激活Windows和Office:KMS智能激活脚本终极指南
  • Obsidian Excel插件:结构化数据与知识管理的无缝集成架构
  • 为claude code配置taotoken作为备用ai编程助手接入点
  • vJoy虚拟摇杆终极配置指南:从Windows驱动到游戏开发的完整解决方案
  • vJoy虚拟摇杆实战指南:解决Windows游戏兼容性难题的高效方案
  • 2026年收藏!学长亲测10款降AI率工具红黑榜:论文降AI避坑,含免费降低AI率办法 - 降AI实验室
  • ComfyUI-Impact-Pack:AI图像精细化处理的终极指南
  • 高效实现Unity游戏本地化的终极方案:智能翻译插件实战指南
  • Excel多文件批量查询神器:3步完成海量数据精准定位
  • 【期末突击】计算机网络物理层终极指南:中继器、集线器与54321规则的深度解析与实战演练
  • 智能座舱ICC控制器:除了炫酷的SR场景重构,它的设置项记忆和2秒校验机制是怎么工作的?