一、流程控制语句分类
1.顺序结构
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行。
2.分支结构(if, switch)
1)if语句
格式1:
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体
③如果关系表达式的值为false就不执行语句体
④继续执行后面的语句内容
格式:
if (关系表达式) {
语句体;
}
格式2:
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体1
③如果关系表达式的值为false就执行语句体2
④继续执行后面的语句内容
格式:
if (关系表达式) {
语句体1;
}else{
语句体2;
}
格式3:
执行流程:
①首先计算关系表达式1的值
②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
④…
⑤如果没有任何关系表达式为true,就执行语句体n+1。
格式:
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
2)switch语句
switch语句用于多分支选择,由一个控制表达式和多个case标签组成。switch语句后面的控制表达式的数据类型只能是byte、short、char、int、String和枚举类型,不能是其它类型。
switch语句往往需要在case标签后紧跟一个代码块,case标签作为这个代码块的标识。
switch语句的语法如下:
switch(sum){
case condition1{
//代码块;
break;
}
case condition2{
//代码块;
break;
}
case conditionN{
//代码块;
break;
....
}
dafault:{
//代码块;
break;
}
}
3.循环结构(for, while, do…while)
1)for语句
执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
2)while语句
执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句;
}
3)do...while语句
执行流程:
① 执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
⑤ 回到②继续
//初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
说明:
1.while与do...while的区别:
while语句是判断后执行,do...while是先执行后判断。
do...while语句不管判断是否成立,至少会执行一次循环体语句。
2.死循环(无限循环)的三种格式:
[1] for(;;){}
[2]while(true){}