1.while循环结构
while循环是最基本的循环,只要循环条件结果为true,就反复执行循环体,当结果为false时就终止整个while循环,执行while语句后的一条语句。while循环的语法格式为:
while循环的执行流程如图2-24所示。
图2-24 while循环结构流程图
满足循环条件时重复执行的某一段代码称为循环体。循环条件是一个布尔表达式,这个表达式的值能决定是否执行循环体。因此,可以通过控制布尔表达式中的变量取值,使得循环在适当时机结束。如果循环条件永远为true,则循环一直执行下去,形成所谓的无限循环或者死循环。
2.do…while循环结构
do…while循环和while循环的功能类似,语法格式为:
do…while循环的执行流程如图2-25所示。
图2-25 do…while循环结构流程图
注意:
while循环是先测试循环,意思是先要通过布尔表达式判断循环是否继续,结果为true才执行循环体。而do…while循环属于后测试循环,意思是先无条件执行一遍循环体,然后再通过布尔表达式去判断循环是否继续。
3.for循环结构
for循环和while循环一样,也属于先测试循环。for循环的语法格式如下:
for循环的执行流程如图2-26所示。
图2-26 for循环结构流程图
for循环结构执行过程概括如下:
步骤1:执行初始化表达式,该操作只执行一次,包括定义和初始化用于循环判断的控制变量。该控制变量的作用域为整个for循环,for循环结束后,该控制变量就从内存释放。
步骤2:通过布尔表达式判断循环是否继续,如果布尔表达式结果是false,则循环条件不满足,循环结束,进入for循环结构后的第一条语句;如果布尔表达式结果是true,则循环条件成立,继续执行步骤3。
步骤3:执行循环体。
步骤4:执行操作表达式来控制循环条件。for循环通过操作表达式中的控制变量来控制循环体的执行次数,通常是对控制变量进行自增或自减。
步骤5:回到步骤2继续执行。
【例2-13】
通过三种循环结构分别计算从1加到100的和。
(1)采用while循环实现,程序如图2-27所示。
图2-27 采用while循环结构实现
(2)采用do…while循环实现,程序如图2-28所示。
图2-28 采用do…while循环结构实现
(3)采用for循环实现,程序如图2-29所示。(www.xing528.com)
图2-29 采用for循环结构实现
4.循环结构的选择
三种循环结构在表达上是等价的,可以使用任何一种形式完成一个循环。通常情况下,如果提前知道重复次数,采用for循环结构比较方便,而while循环结构(或do…while循环结构)适合重复次数无法确定的场景。
5.嵌套循环
在一个循环体中又包含另一个循环语句的语法结构,称为嵌套循环。while、do…while、for循环语句都可以进行循环嵌套,并且它们之间也可以互相嵌套。嵌套循环中,每当重复执行一次外层循环,都要执行完内层循环,只有当最外层循环的循环继续条件不满足时,整个嵌套循环才会结束。在实际开发时,我们最常用的是for循环嵌套。双层for循环的语法格式如下:
在双层for循环嵌套中,外层循环每执行一轮,都要执行完内层循环中的整个for循环,然后执行外层循环第二轮,接着再执行完内层循环中的整个for循环,以此类推,直至外层循环的循环条件不成立,才会跳出整个嵌套for循环。
【例2-14】
利用for嵌套循环实现九九乘法表。
程序设计如图2-30所示。
图2-30 利用for嵌套循环实现九九乘法表
注意:
本例定义了一个双层for循环,外层循环用于控制循环的行数,内存循环用于控制循环的列数,针对每一个外层循环控制变量x,内层循环控制变量y都要从1取到x。
6.关键字break和continue
在循环语句中,可以利用关键字break和continue为循环提供额外的控制,实现循环语句执行过程中程序流程的跳转。
在switch语句中已经使用过关键字break,它的作用是终止某个case并跳出switch结构;当break出现在循环结构语句中时,作用是跳出当前循环结构语句,执行后面的代码。
continue语句的作用是终止本次循环,不再执行本次循环continue之后的语句,继续执行下一次循环。
需要强调的是,在程序设计中慎用break和continue,过度使用会使程序容易出错且难于理解。
【例2-15】
计算从1加到100的和,要求使用关键字break跳出循环。
程序如图2-31所示。
图2-31 break关键字应用示例
注意:
break只能跳出当前循环。如果break语句出现在双层嵌套循环中的内层循环,则它只能跳出内层循环。
【例2-16】
计算从1到100之间奇数的和,要求使用关键字continue。
程序如图2-32所示。
图2-32 continue关键字应用示例
注意:
continue语句用在循环语句中,它的作用是跳过本次循环体continue语句后面剩余的代码,进行下一次循环,而不是终止整个循环的执行。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。