流程控制语句
在程序中,拥有三大类流程控制语句:
顺序控制语句:自上而下依次执行语句指令
选择/分支控制语句:不同的条件决定了执行不同的语句指令
循环控制语句:在满足条件的情况下可以反复的执行指定语句指令
这三大类的流程控制语句,结合使用,构造了复杂的程序。
if选择结构
if:如果
基础if选择结构
语法:
// 条件表达式通过关系运算符和逻辑运算符等构成
// true、false
if (条件表达式) {
// 条件成立时执行的代码段
}
注意:缩进和空格
if-else选择结构
互斥 if 选择结构。
else:否则
语法:
if (条件表达式) {
// 条件成立时执行的代码段
} else {
// 条件不成立时执行的代码段
}
多重if选择结构
if-
else if
-else选择结构
语法:
if (条件表达式1) {
// 条件1成立时执行的代码段
} else if (条件表达式2) {
// 条件2成立时执行的代码段
} else {
// 当条件都不满足时执行的代码段
}
注意事项:多重 if 可以写很多 else if 分支条件,但必须以 if 开头。多重 if 可以在结尾处添加一个 else 作为 候补 ” 分支。多重 if 是自上而下的执行 if 判断,只要有一个分支成立,后续的分支不再执行判断。可以 极大的简化 一 些范围型的判断,但是得注意条件判断的放置顺序问题。
嵌套if选择结构
if (外层条件表达式) {
if (内层条件表达式) {
}
}
如果外层条件不成立,内层条件不会执行判断!各种 if 之间可以相互嵌套!当你需要的时候,就写即可!
switch选择结构
语法
switch (表达式) {
case 常量1:
// 表达式和常量1相等时,执行的代码段
break;
case 常量2:
// 表达式和常量2相等时,执行的代码段
break;
default:
// 当表达式和所有常量都不相等时,执行的代码段
break;
}
注意事项:
表达式不是条件表达式!
在 switch 后可以使用 int、String(Java 7支持)、Enum(枚举,了解)数据类型转换:由于自动类型转换的问题,byte、short、char 也是受支持的。
每一
个 case 后接的是
一
个常量!
每
一
个 case 都应该以
一
个 break 结尾!break 是用于跳出 switch 结构的!
如果缺失了 break,会出现 case 的穿透性问题。判断分支成立并执行后,会依次向其他分支穿透执行,直到遇到 break 或 switch 结束为止。
Switch和if之间的区别
相同点:
switch 和 if 都是选择结构
switch 和 多重 if 都是多分支的选择结构
不同点:
switch 它只能用于等值判断的情况 ,而多重 if 还可以用于范围型判断