流程控制语句(循环结构)

本文详细介绍了for、while、do-while三种基本循环结构,强调了它们的语法、执行过程和选择原则,并特别关注了死循环的避免以及嵌套循环的概念和技巧。
摘要由CSDN通过智能技术生成

目录

一、for循环

二、while循环

三、do-while循环

四、对比三种循环结构

五、“无限”循环

六、嵌套循环(或多重循环)


理解:循环语句具有在某些条件满足的情况下,反复执行特定代码的功能

循环结构分类:

①for循环

②while循环

③do-while循环

循环结构四要素:

①初始化部分

②循环条件部分

③循环体部分

④迭代部分

一、for循环

语法格式:

for(①初始化部分;②循环条件部分;④迭代部分){
        ③循环体部分;
    }

执行过程:①-②-③-④-②-③-④-②-③-④-...-②

图示:

说明:

①for(;;)中的两个;不能多也不能少

②初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔

③循环条件部分为boolean类型表达式,当值为false时,退出循环

④可以有多个变量更新,用逗号分割

⑤可以在循环中使用break,一旦执行break,就跳出当前循环结构

⑥如何结束一个循环结构?

结束情况1:循环结构中的循环条件部分返回false

结束情况2:循环结构中执行了break

⑦如果一个循环结构不能结束,那就是一个死循环!我们在开发中要避免出现死循环!

二、while循环

语法格式:

①初始化部分
while(②循环条件部分){
    ③循环体部分;
    ④迭代部分;
}

执行过程:①-②-③-④-②-③-④-②-③-④-...-②

图示:

说明:

①while(循环条件)中循环条件必须是boolean类型

②注意不要忘记声明④迭代部分,否则,循环将不能结束,变成死循环

③for循环和while循环可以相互转换,二者没有性能上的差别。实际开发中,根据具体结构的情况,选择哪个格式更合适、美观

④for循环与while循环的区别:初始化条件部分的作用域不同

三、do-while循环

语法格式:

①初始化部分
do{
    ③循环体部分
    ④迭代部分
}while(②循环条件部分)

执行过程:①-③-④-②-③-④-②-③-④-...-②

图示:

说明:

①结尾while(循环条件)中循环条件必须是boolean类型

②do{}while();最后有一个分号别忘了

③do-while结构的循环体语句是至少会执行一次,这个和for和while是不一样的

④循环的三个结构for、while、do-while三者是可以相互转换的

四、对比三种循环结构

三种循环结构都具有四个要素:

①循环变量的初始化条件

②循环条件

③循环体语句块

④循环变量的修改的迭代表达式

从循环次数角度分析:

①do-while循环至少执行一次循环体语句

②for和while循环先判断循环条件语句是否成立,然后决定是否执行循环体

如何选择:

①遍历有明显的循环次数(范围)的需求,选择for循环

②遍历如果没有明显的循环次数(范围)的需求,选择while循环

③如果循环体语句块至少执行一次,可以考虑使用do-while循环

④本质上:三种循环之间完全可以相互转换,都能实现循环的功能

五、“无限”循环

语法格式:

最简单的“无限”循环格式:while(true), for(;;)

适用场景:开发中,有时候并不确定需要循环多少次,需要根据循环体内部某些条件,来控制循环的结束(使用break)。

如果次循环结构不能终止,则构成了死循环,在开发中,一定要避免死循环。

六、嵌套循环(或多重循环)

所谓嵌套循环:是指一个循环结构A的循环体是另一个循环结构B。比如for循环里面还有一个for循环,就是嵌套循环。其中,for、while、do-while均可以作为外层循环或内层循环。

                              外层循环:循环结构A

                              内层循环:循环结构B

实质上,嵌套循环就是把内层循环当成外层循环的循环体。只有当内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的档次循环,开始下一次的外层循环

设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。

技巧:从二维图形的角度看,外层循环控制行数,内层循环控制列数

开发经验:实际开发中,我们最多见到的嵌套循环是两层。一般不会出现超过三层的嵌套循环,如果将要出现,一定要停下来重新梳理业务逻辑,重新思考算法的实现,控制在三层以内,否则可读性会很差。

例如:

两个for嵌套循环格式:

for(初始化语句①;循环条件语句②;迭代语句⑦){
    for(初始化语句③;循环条件语句④;迭代语句⑥){
        循环语句⑤
    }
}

执行过程:①-②-③-④-⑤-⑥-④-⑤-⑥-...-④-⑦-②-③-④-⑤-⑥-④..

执行特点:外层循环执行一次,内层循环执行一轮

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值