流程控制语句
三种基本流程结构
:顺序结构、分支结构(选择)、循环结构
总结:
选择结构 |
if语句 单、双、多分支选择结构,等值、不等值判断均可 |
switch语句 只有多分支选择结构 只针对等值判断 |
循环结构 |
while循环 先判断再循环 适合循环次数不固定情况 |
do-while循环 先循环再判断 适合循环次数不固定情况 |
for循环 适合循环次数固定情况 |
循环跳转语句 |
break 跳出本层循环,跳出外层循环需要结合标签或符号位实现 |
continue 提前结束本次循环 |
return 结束当前方法 |
1、if单分支选择结构
if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句
2、if-else if-else多分支选择结构
-
- if(布尔表达式1) {
语句块1;
-
- } else if(布尔表达式2) {
语句块2;
-
- }………
- else if(布尔表达式n){
语句块n;
- } else {
语句块n+1;
-
- }
- 逐条if语句进行判断
- 条件匹配,进入语句体
- 否则对if语句继续匹配
3、switch多分支选择结构
- 根据表达式的不同执行许多不同的操作
- switch (表达式) {
- case 值1:
- 语句序列;
- [break];
- case 值2:
- 语句序列;
- [break];
- case 值1:
... ... ...
-
- [default :
- 默认语句;]
- [default :
- }
1、switch语句会根据表达式的值从相匹配的执行,一直执行到break标签语句处或者是switch语句的末尾。 与任一case值不匹配,则进入default语句(如果有的话) |
2、只能处理等值条件判断的情况,且表达式必须为byte,short,int或char类型 , 不能是String或double,float. |
3、常量值必须是与表达式类型兼容的特定的一个常量 |
4、不允许有重复的case值 |
5、default子句为可选 |
4、while循环
- 在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。
- 语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。
例:
public class WhileTest { |
循环结构都由如下四个结构组成:
初始化、条件判断、循环体、迭代
5、do-while循环
- do-while:
- 先执行,后判断。
- while:
- 先判断,后执行。
例:
int a = 0; while(a < 0 ){ do{ |
|
while 和 do-while的区别:
|
6、for循环
- for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构
- 语法形式
for (初始表达式;布尔表达式;步进) {
循环体;
}
- 注意事项
1) for循环在执行条件测试后,先执行程序部分,再执行步进。
2)在for语句的初始化部分声明的变量,其作用域为整个for循环体
3)“初始化”和“循环条件表达式”部分可以使用逗号来执行多个操作
4)如果三个部分都为空语句(分号不能省),相当于一个无限循环
7、跳转语句--- break 和 continue
break :用于强行退出循环,不执行循环中剩余的语句。(break语句还可用于多支语句switch中)
continue:用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
8、return:
从当前方法退出,返回到调用该方法的语句处,并从该语句的下条语句处继续执行程序。