Java流程控制——分支结构和循环结构

傷城~ 2023-07-16 15:59 98阅读 0赞

顺序结构:程序从上到下执行。

分支结构:
if-else if - else
switch-case

循环结构:
for
while
do-while

分支结构

1.if-else条件判断结构
1.1.
结构一:

  1. if(条件表达式){
  2. 执行表达式
  3. }

结构二:二选一

  1. if(条件表达式){
  2. 执行表达式1
  3. }else{
  4. 执行表达式2
  5. }

结构三:n选一

  1. if(条件表达式){
  2. 执行表达式1
  3. }else if(条件表达式){
  4. 执行表达式2
  5. }else if(条件表达式){
  6. 执行表达式3
  7. }
  8. ...
  9. else{
  10. 执行表达式n
  11. }

1.2.说明:

  • else 结构是可选的。
  • 针对于条件表达式:
  • 如果多个条件表达式之间是“互斥”关系(或没有交集的关系),哪个判断和执行语句声明在上面还是下面,无所谓。

  • 如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。

  • 如果多个条件表达式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面。否则,范围小的就没机会执行了。

  • if-else结构是可以相互嵌套的。

  • 如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。但是,不建议大家省略。

2.switch-case选择结构

  1. switch(表达式){
  2. case 常量1:
  3. 执行语句1;
  4. //break;
  5. case 常量2:
  6. 执行语句2;
  7. //break;
  8. ...
  9. default:
  10. 执行语句n;
  11. //break;
  12. }

2.说明:

  1. 根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。
    当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构
    末尾结束为止。
  2. break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构
  3. switch结构中的表达式,只能是如下的6种数据类型之一: byte 、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
  4. case 之后只能声明常量。不能声明范围。
  5. break关键字是可选的。
  6. default:相当于if-else结构中的else.
    default结构是可选的,而且位置是灵活的。
  7. 如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并。
  8. break在switch-case中是可选的

循环结构

1.循环结构的四要素

  • ① 初始化条件
  • ② 循环条件 —>是boolean类型
  • ③ 循环体
  • ④ 迭代条件
    说明:通常情况下,循环结束都是因为②中循环条件返回false了。

2.三种循环结构:
2.1 for循环结构

for(①;②;④){

}
执行过程:① - ② - ③ - ④ - ② - ③ - ④ - … - ②

2.2 while循环结构


while(②){
③;
④;
}
执行过程:① - ② - ③ - ④ - ② - ③ - ④ - … - ②

说明:写while循环千万小心不要丢了迭代条件。一旦丢了,就可能导致死循环!

for和while循环总结:

  1. 开发中,基本上我们都会从for、while中进行选择,实现循环结构。
  2. for循环和while循环是可以相互转换的!
    区别:for循环和while循环的初始化条件部分的作用范围不同。
  3. 我们写程序,要避免出现死循环。
    2.3 do-while循环结构


do{
③;
④;
}while(②);
执行过程:① - ③ - ④ - ② - ③ - ④ - … - ②

说明:
1.do-while循环至少会执行一次循环体!
2.开发中,使用for和while更多一些。较少使用do-while

3.“无限循环”结构: while(true) 或 for( ; ; )
总结:如何结束一个循环结构?
方式一:当循环条件是false时
方式二:在循环体中,执行break

4.嵌套循环
1.嵌套循环:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环

  • 内层循环:循环结构A
  • 外层循环:循环结构B

2.说明:
① 内层循环结构遍历一遍,只相当于外层循环循环体执行了一次
② 假设外层循环需要执行m次,内层循环需要执行n次。此时内层循环的循环体一共执行了m * n次
③ 外层循环控制行数,内层循环控制列数
【典型练习】
//练习一:
/*
******
******
******
******
*/

  1. for(int j = 1;j <= 4;j++ ){
  2. for(int i = 1;i <= 6;i++){
  3. System.out.print('*');
  4. }
  5. System.out.println();
  6. }
  7. //练习二:
  8. /* i(行号) j(*的个数)
  9. * 1 1
  10. ** 2 2
  11. *** 3 3
  12. **** 4 4
  13. ***** 5 5
  14. */
  15. for(int i = 1;i <= 5;i++){ //控制行数
  16. for(int j = 1;j <= i;j++){ //控制列数
  17. System.out.print("*");
  18. }
  19. System.out.println();
  20. }
  21. //练习三:九九乘法表
  22. //练习四:100以内的质数

补充:衡量一个功能代码的优劣:
1.正确性
2.可读性
3.健壮性
4.高效率与低存储:时间复杂度 、空间复杂度 (衡量算法的好坏)

如何理解流程控制的练习:
流程控制结构的使用 + 算法逻辑

关键字:break和continue

break:跳出该层循环
continue:跳出本次循环进入下一次循环

发表评论

表情:
评论列表 (有 0 条评论,98人围观)

还没有评论,来说两句吧...

相关阅读

    相关 流程控制-循环结构

    【1】语法结构: while (布尔表达式) \{ 循环体; \} 在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的