不论哪一种编程语言,都会提供两种基本的流程控制结构:分支结构和循环结构。其中分支结构用于实现根据条件来选择性地执行某段代码,循环结构则用于实现根据循环条件重复执行某段代码。
循环语句
1、for循环语句格式
for(初始化语句①; 循环条件语句②; 迭代语句④){ 循环体语句③ } #1243执行顺序 for(;;){ 循环体语句块;//如果循环体中没有跳出循环体的语句,那么就是死循环 }
(1)for(;;)中的两个;是不能多也不能少
(2)循环条件必须是boolean类型
(3)如果循环条件语句②省略的话,就默认为循环条件成立
执行流程:
-
第一步:执行初始化语句①,完成循环变量的初始化;
-
第二步:执行循环条件语句②,看循环条件语句的值是true,还是false;
-
如果是true,执行第三步;
-
如果是false,循环语句中止,循环不再执行。
-
-
第三步:执行循环体语句③
-
第四步:执行迭代语句④,针对循环变量重新赋值
-
第五步:根据循环变量的新值,重新从第二步开始再执行一遍
循环结构while
1、while循环语句标准格式:
while (循环条件语句①) { 循环体语句②; } while(true){ 循环体语句;//如果此时循环体中没有跳出循环的语句,也是死循环 }
while(循环条件)中循环条件必须是boolean类型
执行流程:
-
-
如果是true,执行第二步;
-
如果是false,循环语句中止,循环不再执行。
-
-
第二步:执行循环体语句②;
-
第三步:循环体语句执行完后,重新从第一步开始再执行一遍
循环结构do...while
1、do...while循环语句标准格式:
do { 循环体语句①; } while (循环条件语句②);
(1)while(循环条件)中循环条件必须是boolean类型
(2)do{}while();最后有一个分号
(3)do...while结构的循环体语句是至少会执行一次,这个和for和while是不一样的
执行流程:
-
第一步:执行循环体语句①;
-
第二步:执行循环条件语句②,看循环条件语句的值是true,还是false;
-
如果是true,执行第三步;
-
如果是false,循环语句终止,循环不再执行。
-
-
第三步:循环条件语句执行完后,重新从第一步开始再执行一遍
循环语句的区别
-
-
do...while循环至少执行一次循环体语句
-
for和while循环先循环条件语句是否成立,然后决定是否执行循环体,至少执行零次循环体语句
-
-
从循环变量的生命周期角度分析
-
for循环的循环变量在for()中声明的,在循环语句结束后,不可以被访问;
-
while和do...while循环的循环变量因为在外面声明的,所以while和do...while结束后可以被继续使用的;
-
-
如何选择
-
遍历有明显的循环次数(范围)的需求,选择for循环
-
遍历没有明显的循环次数(范围)的需求,循环while循环
-
如果循环体语句块至少执行一次,可以考虑使用do...while循环
-
本质上:三种循环之间是可以互相转换的,都能实现循环的功能
-
-
三种循环结构都具有四要素:
-
(1)循环变量的初始化表达式
-
(2)循环条件
-
(3)循环变量的修改的迭代表达式
-
-
控制语句
1 break
-
使用场景:终止switch或者当前循环
-
在选择结构switch语句中
-
在循环语句中
-
-