02_选择结构
流程控制语句
- 顺序控制语句:自上而下依次执行语句指令
- 选择/分支控制语句:不同条件决定了不同的语句指令
- 循环控制语句:在满足条件下可以反复的执行制定语句指令
if选择结构
基础if选择结构
if (条件表达式) {
// 条件成立是立即执行的代码段
}
if-else选择结构
if (条件表达式){
// 条件成立时立即执行的代码段
} else {
// 条件不成立时立即执行的代码段
}
多重if选择结构
if (条件表达式1) {
// 条件1满足时立即执行
} else if (条件表达式2) {
// 条件2满足时立即执行
} else {
// 条件都满足时
}
**注:**多重if是自上而下执行的if判断,只要有一个分支成立,后续的分支不再执行判断。可以解决一些范围型的判断,但是需要注意判断的放置顺序问题。
嵌套if选择结构
if (外层条件表达式) {
if (内层表达式) {
}
}
switch选择结构
switch语法
switch (表达式) {
case 常量1:
// 表达式和常量1相等时,执行的代码段
break;
case 常量2:
// 表达式和常量2相等时,执行的代码段
break;
default
// 当表达式和常量值都不相等时,执行的代码
break;
}
注:
-
表达式不是条件表达式!
在switch后可以使用int、String、Enum
数据类型转换:由于自动类型转换的问题,byte、char、short也是支持的
-
每一个case后接的是一个常量!
-
每一个case都应以一个break结尾,break是用于跳出switch结构的
如果缺失了break,会出现case的穿透性问题
判断分支成立并执行后,会依次向其他分支穿透执行,直到遇到break或switch结束为止
switch和if的对比
相同点:
- switch和if都是选择结构分支结构
- switch和多重if都是多分支的选择结构
不同点:
- switch它只能用于等值判断问题,多重if还可以使用于范围型判断