2.5 程序的流程控制
·流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块
·其他流程控制方式采用结构化程序中设计中规定的三种基本流程结构,即:
>顺序结构
>分支结构
>循环结构
·顺序结构
>程序从上到下逐行地执行,中间没有任何判断和跳转
·分支结构
>根据条件,选择性地执行某段代码
>有if...else和switch-case两种分支语句
·循环结构
>根据循环条件,重复性的执行某段代码
>有while、do...while、for三种循环语句
>注:JDK1.5提供了foreach循环,方便的遍布集合,数组元素
2.5.1 顺序结构
2.5.2 分支语句1:if...else
if语句三种格式:
1.if(条件表达式){
执行代码块;
}
2.if(条件表达式){
执行代码块1;
}else{
执行代码块2;
}
3.if(条件表达式1){
执行代码块1;
}else if(条件表达式2){
执行代码块2;
}...
else{
执行代码块n;
}
2.5.3 分支语句2:switch-case结构
switch(表达式){
case 常量1:
语句1;
//break;
case 常量2:
语句2;
//break;
... ...
case 常量n:
语句n;
//break;
defaulf:
语句;
//break;
}
说明:
①根据switch表达式中的值,依次匹配各个case中的常量,一旦匹配成功,则进入相应case结构中,调用其执行语句,当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾结束为止
②break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构
③switch结构中的表达式,只能是如下的6种数据类型之一:
btye、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
④case之后只能声明常量,不能声明范围
⑤break关键字是可选的
⑥default:相当于if-else结构中的else
default结构是可选的,而且位置是灵活的
如果switch-case结构中的多个case执行语句相同,则可以考虑进行合并
2.5.4 循环结构
·循环结构
>在某些条件满足的情况下,反复执行特点代码的功能
·循环语句分类
>for循环
>while循环
>do-while循环
·循环语句的四个主城部分
>①初始化部分(int_statement)
>②循环条件部分(test_exp)
>③循环体部分(body_statement)
>④迭代部分(alter_statement)
for循环的结构
for(①;②;④){
③;
}
执行过程:①-②-③-④-②-③-④-...-②
while循环的结构
①
while(②){
③;
④;
}
执行过程:①-②-③-④-②-③-④-...-②
说明:1.写while循环千万小心不要丢了迭代条件,一旦丢了就可能导致死循环!
2.我们写程序,要避免出现死循环。
3.for循环和while循环是可以相互转换的。
区别:for循环和while循环的初始化条件部分的作用范围不同。
do-while循环的结构
①
do{
③;
④;
}while(②);
执行过程:①-③-④-②-③-④-...-②
说明:1.do-while循环至少会执行一次循环体
2.开发中,使用for和while更多一些,较少使用do-while
3.不在循环条件部分限制次数的结构:for(;;)或while(true)
4.结束循环有几种方式?
方式一:循环条件部分返回false
方式二:在循环中执行break
嵌套循环的使用
1.嵌套循环:将一个循环结构A声明在另一个循环结构B中的循环体中,就构成了嵌套循环
2.外层循环:循环结构B
内层循环:循环结构A
3.说明:
①内层循环结构遍历一遍,只相当于外层循环循环体执行了一次
②假设外层循环需要执行m次,内层循环需要执行n次,此时内层循环的循环体一共执行了m*n次
4.技巧:
外层循环控制行数,内层循环控制列数