教妹学Java(十四):switch 语句详解
大家好,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。本篇文章通过我和三妹对话的形式来谈一谈“switch 语句”。
教妹学 Java,没见过这么有趣的标题吧?“语不惊人死不休”,没错,本篇文章的标题就是这么酷炫,接受不了的同学就别点进来看了,所谓好奇心害死猫;能够接受的同学我只能说你赚到了,你不仅能在阅读的过程中感受到思维的乐趣,还真的能学习到知识。下面就由我来介绍一下故事的背景吧。
我有一个漂亮如花的妹妹(见上图),她叫什么呢?我想聪明的读者朋友们都能猜得出:沉默王三,没错,年方三六。父母正考虑让她向我学习,做一名正儿八经的 Java 程序员。我期初是想反抗的,因为程序员这行业容易掉头发。但家命难为啊,与其反抗,不如做点更积极的事情,写点有趣的文章,教妹妹如何更快地掌握 Java 这门编程语言。毕竟程序员还算得上高薪(都是拿命换的啊)。
(铺垫结束,正文开始)
“二哥,今天我们来学习‘switch 语句’,对吧?”
“是的,三妹。Java 中的 switch 语句用来判断变量与多个值之间的相等性。变量的类型可以是 byte、short、int、long,或者对应的包装器类型 Byte、Short、Integer、Long,以及字符串和枚举。”
来看一下 switch 语句的格式:
switch(变量) {
case 可选值1: // 可选值1匹配后执行的代码; break; // 该关键字是可选项
case 可选值2: // 可选值2匹配后执行的代码; break; // 该关键字是可选项
...... default: // 该关键字是可选项 // 所有可选值都不匹配后执行的代码
}
变量可以有 1 个或者 N 个值。
值类型必须和变量类型是一致的,并且值是确定的。
值必须是唯一的,不能重复,否则编译会出错。
break 关键字是可选的,如果没有,则执行下一个 case,如果有,则跳出 switch 语句。
default 关键字也是可选的。
画个流程图:
来个示例:
public class Switch1 {public static void main(String[] args) {int age = 20;switch (age) {case 20 :System.out.println("上学");break;case 24 :System.out.println("苏州工作");break;case 30 :System.out.println("洛阳工作");break;default:System.out.println("未知");break; // 可省略}}
}
输出:
上学
当两个值要执行的代码相同时,可以把要执行的代码写在下一个 case 语句中,而上一个 case 语句中什么也没有,来看一下示例:
public class Switch2 {public static void main(String[] args) {String name = "沉默王二";switch (name) {case "詹姆斯":System.out.println("篮球运动员");break;case "穆里尼奥":System.out.println("足球教练");break;case "沉默王二":case "沉默王三":System.out.println("乒乓球爱好者");break;default:throw new IllegalArgumentException("名字没有匹配项");}}
}
输出:
乒乓球爱好者
枚举作为 switch 语句的变量也很常见,来看例子:
public class SwitchEnumDemo {public enum PlayerTypes {TENNIS,FOOTBALL,BASKETBALL,UNKNOWN}public static void main(String[] args) {System.out.println(createPlayer(PlayerTypes.BASKETBALL));}private static String createPlayer(PlayerTypes playerType) {switch (playerType) {case TENNIS:return "网球运动员费德勒";case FOOTBALL:return "足球运动员C罗";case BASKETBALL:return "篮球运动员詹姆斯";case UNKNOWN:throw new IllegalArgumentException("未知");default:throw new IllegalArgumentException("运动员类型: " + playerType);}}
}
输出:
篮球运动员詹姆斯
本篇文章为《教妹学Java》专栏的第十四篇文章,是不是有趣得很?我相信你能感受的到,这可是全网独一份,我看到已经有人在模仿了。现在定价只需 9.9 元,9.9 元你连一杯奶茶都买不到,但却能买下二哥精心制作的专栏,据说 CSDN 已经考虑涨价了,毕竟已经卖出一百多份了。
我知道,购买专栏的同学都是冲着二哥的名声来的,毕竟二哥是 CSDN 的明星博主,哈哈。为表谢意,我再附送上个人微信(qing_geee),你有什么问题都可以来咨询。
上一篇回顾:教妹学Java(十三):if-else 语句详解
PS:本篇文章中的示例代码已经同步到码云,传送门~
原创不易,喜欢就点个赞,因为你一个小小的举动,就会让这个世界多一份美好。
教妹学Java(十四):switch 语句详解相关推荐
- 教妹学Java(十三):if-else 语句详解
大家好,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.本篇文章通过我和三妹对话的形式来谈一谈"if-else 语句". 教妹学 Java,没见过这么有趣的标题吧?& ...
- 教妹学Java(十九):continue 关键字详解
你好呀,我是沉默王二,是<Web 全栈开发进阶之路>的作者,CSDN 2019 年度的博客之星.<教妹学 Java>是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我 ...
- 【Java技巧 第2章】Java中的switch语句详解
文章目录 一.switch条件语句介绍 二.switch条件语句格式 1.格式 2.例子 3.扩展 三.更多了解
- 教妹学Java(二十二):来吧,一文彻底搞懂Java命名约定
你好呀,我是沉默王二,是<Web 全栈开发进阶之路>的作者,CSDN 博客之星.<教妹学 Java>是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我还力求把每一个知 ...
- 教妹学Java(二十):一文带你彻底了解 Java 中的注释,干货了
你好呀,我是沉默王二,一枚颜值与才华俱在的程序员.本篇教程通过我和三妹对话的形式来谈一谈"Java 中的注释". 教妹学 Java,没见过这么有趣的标题吧?"语不惊人死不 ...
- 教妹学Java(二十一):一文带你了解面向对象编程的所有概念
你好呀,我是沉默王二,是<Web 全栈开发进阶之路>的作者,CSDN 的博客之星.<教妹学 Java>是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我还力求把每一个 ...
- 教妹学Java(二十六):static 关键字解析
你好呀,我是沉默王二,(目前是)CSDN 周排名前十的博客专家.这是<教妹学 Java>专栏的第二十六篇,今天我们来谈谈 Java 的 static 关键字--什么是静态变量?什么是静态方 ...
- 教妹学Java(三十二):了解 Java 中的返回类型协变
你好呀,我是沉默王二,(目前是)CSDN 周排名前十的博客专家.这是<教妹学 Java>专栏的第二十七篇,今天我们来谈谈 Java 中的返回类型协变--Java 的返回值类型支持协变.换句 ...
- 教妹学Java(三十六):Java 多态的好处
你好呀,我是沉默王二,(目前是)CSDN 周排名前十的博客专家.这是<教妹学 Java>专栏的第三十六篇,今天我们来谈谈 Java 中的多态--多态有什么好处? 本专栏中的代码已收录到 G ...
最新文章
- Visual C++ 2008入门经典 第九章类的继承和虚函数
- idea yml文件不变成树叶_springboot获取配置文件的三种方式
- ${ctx} 的那些事
- Keil(MDK-ARM-STM32)系列教程(七)菜单
- Linux man 命令后面的圆括号的意义
- 【数学建模】基于matlab三维数据可视化(华为杯)【含Matlab源码 139期】
- 骆驼壳修改服务器,【电视直播】发烧友TV,骆驼壳导入直播源教程,打造个人专属永久盒子软件,你们想看的这都有!...
- vue 前端打印pdf
- BlowFish算法Java实现
- 下行期的资本,正在追逐「猫品牌」
- 软件测试 (4)Linux命令
- idea、webstorm使用过程出现问题
- 广义相对论-学习记录5-第三章-张量分析与黎曼几何2
- python opencv gpu加速_让Python下的OpenCV也能GPU加速!part.1
- 计算机二级模板文档,江苏省计算机二级
- SQL查询——查询和和xxx同学所选课程完全一样的同学
- 红米k20 android版本,小米红米K20系统版本是多少?
- 2012年蓝盾杯信息安全竞赛小记
- 机械工业出版社计算机组成原理答案,计算机组成原理
- 爬虫与反爬虫(斗智斗勇)