廖雪峰Java1-3流程控制-4switch多重选择
switch语句
根据switch(表达式)跳转到匹配的case结果,继续执行case结果: 的后续语句,遇到break结束执行,没有匹配条件,执行default语句。
int i = 3
switch (i){
case 1:
System.out.println("武林盟主");
break;
case 2:
System.out.println("少林方丈");
break;
case 3:
System.out.println("华山掌门");
break;
default:
System.out.println("峨眉掌门");
}
* switch语句相当于一组if else 语句,执行的总是相等的判断。
* switch语句没有花括号,是以 ":" 开头的
* case语句具有穿透性,如果没有break会继续执行
```#java
//switch的穿透性
Scanner s = new Scanner(System.in);
System.out.print("请输入名次:");
int option = s.nextInt();
switch (option){
case 1:
System.out.println("武林盟主");
break;
case 2:
System.out.println("少林方丈");
break;
case 3:
System.out.println("华山掌门");
default:
System.out.println("峨眉掌门");
}
```

- 如果有几种情况需要执行相同的语句
public class Hello {
public static void test(int option) {
switch (option) {
case 1:
System.out.println("武林盟主");
break;
//case2和case3执行相同的操作
case 2:
case 3:
System.out.println("华山掌门");
break;
default:
System.out.println("峨眉掌门");
}
}
public static void main(String[] args){
test(2);
test(3);
}
}

除了整型,还可以使用字符串匹配,字符串比较内容相等
总结:
- switch语句可以做多重选择
- switch的计算结果必须是整型、字符串或枚举类型
- 不要漏泄break,打开fall-through警告
- 总是写上default,建议打开missing default警告
- 尽量少用switch语句
廖雪峰Java1-3流程控制-4switch多重选择的更多相关文章
- JavaScrip流程控制之switch选择,for循环
swith根据表达式的值来case ,break执行跳转语句 <!DOCTYPE html> <html lang="en"> <head> & ...
- 【java从入门到精通】day10-Java流程控制2-switch多选择结构
1.switch多选择结构 switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. switch语句中的变量类型可以是: byte.short.int或者char 从j ...
- Java流程控制04——Switch选择结构
switch 多选择结构 switch case 语句判断一个变量与一系列值中某个值是否相等,每个支撑位一个分支. switch语句中的变量类型可以是: byte short int 或者 char ...
- 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结
053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...
- python学习笔记---流程控制
二.流程控制 2.1选择结构与语句 2.1.1 最简单的if语句 注意:if语句后边必须加上冒号 满足条件后.可以执行多条语句. #最简单的if语句 print("请输入一个既能整除2,又能 ...
- 035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构
035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构 本文知识点:Java中的多重if结构 选择结构回顾 if选择结构 注意: 1.条 ...
- 廖雪峰Python电子书总结
函数 1.注意:函数的默认参数必须指向不可变对象 未修改前: def add_end(L=[]): L.append('END') return L 存在的问题:如果连续调用多次,会出现多个 'END ...
- 到头来还是逃不过Java - 流程控制
流程控制 没有特殊说明,我的所有这个系列的Java13的笔记都是从廖老师那里摘抄.总结过来的,侵删 引言 兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要 ...
- [Java入门笔记] Java语言基础(四):流程控制
流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下几种: 顺序结构 顺序结构,顾名思义,是指程序从上往下逐步顺序执行.中间没有任何的判断和跳转. 分支结构 Java提供两种分支结构: ...
随机推荐
- Version Control 版本控制
一.version control是什么: version control版本控制,是指对软件开发过程中各种程序代码.配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一. 二.versi ...
- canvas的认识,时钟的设置
canvas的三要素:ID标识,width宽度,height高度,他是行元素 IE9才支持canvas,canvas是一个透明的画板,要用js去画 绘制一个圆 线性渐变颜色 径向渐变 图片的绘制: 视 ...
- mysql 常用函数-locate 和 instr 和 regexp
★1 -- 表级锁 情况SHOW STATUS LIKE 'table%';-- 行级锁 情况SHOW STATUS LIKE 'innodb_row_lock%'; -- 进程列表SHOW PROC ...
- web.xml配置Servlet出错(DispatcherServlet)
想当然的把servlet-mapping当成servlet的属性 后台也不报错,但是输入url,就是死活不执行那个servlet servlet和servlet-mapping是同一级的对象
- zabbix——拓扑图入门
zabbix的拓扑图是动态的,当你配置好拓扑图后,一旦网络中那个节点出现了问题,很容易在拓扑图中看出问题具体出在哪个位置. 新建一个拓扑图 我们常用到的图标有rack(机柜)还有rackmountab ...
- MySQL Partition--分区基础
================================================================================= Mysql在5.1版本时增加对分区表 ...
- MySQL--查看数据库连接信息
===================================== 查看当前连接到数据库的用户和Host ## 查看当前连接到数据库的用户和Host ## SELECT DISTINCT US ...
- 创建一个简单的terraform module
terraform module可以实现代码的复用,同时方便分享,下面创建一个简单的基于localfile && template provider 的module module ...
- C# to IL 5 Operator Overloading(操作符重载)
Every operator overload that we use in C#, gets converted to a function call in IL. Theoverloaded &g ...
- Unity 游戏性能优化 学习
优化误区