课程
p104-147
流程控制介绍
在程序种,程序运行的流程控制决定程序是如何执行的。
主要有三大流程控制语句:
- 顺序控制
- 分支控制
- 循环控制
顺序
简单理解就是从头到尾。
分支控制if-else
单分支:
翻译:如果满足xxx,就做…
if(xxx) {......};
流程图:
双分支:
翻译:如果满足a,就做A;否则做B。
if(a) {A};
else {B};
流程图:
多分支
翻译:
如果满足a,就执行A;
(在上面不满足的情况下)如果满足b,就执行B;
(在上面不满足的情况下)如果满足c,就执行C;
…
(在上面不满足的情况下)如果满足e,就执行E;
(在上面不满足的情况下),执行F;
if(a) {A};
else if(b) {B};
else if(c) {C};
...
else if(e) {E};
else {F};
流程图:
多分支可以没有else。也就是说,如果else if中的所有条件都不成立,就啥都不干。
嵌套分支
就是套娃。
switch分支结构
流程图:
细节:
第一条的意思是,不能这样:
注意:break用来在执行一个case后跳出的,如果没有写break,程序会顺序执行到switch结尾
switch VS if
for循环控制
基本语法:
for(循环变量初始化;循环条件;循环变量迭代)
{
循环语句;
}
如:
就是执行n次num++;
for(int i=0;i<n;i++)
{
num++;
}
流程图:
细节:
第一条,即:
for(int i=0;i<n;i++)
中的i<n返回的是true,就执行循环。否则跳出。
while循环控制
流程图:
do…while循环控制
划重点:
先执行后判断。
流程图:
多重循环控制
跳转控制语句break
break语句用于终止某个语句块的执行,一般使用在switch或者循环中。
流程图:
细节:
注意:
Java中的break可以带标签指定break哪一层循环
C++不可以。
随手写一个代码试一下:
C++:
Java:
这是学Java语法以来第一个和C++不同的地方。
跳转控制语句continue
也可以用标签。
流程图:
跳转控制语句return
return表示跳出所在方法。
如果return写在main方法,就退出程序。