基本程序逻辑:循环结构知识点归纳和代码展示
LoopStructure 循环结构
1.定义
定义:在某些条件满足的情况下,反复执行特定代码的功能。
2.组成部分
2.1:具体基本组成
4部分构成(当然这是基本结构,后续可根据需要灵活变通)。
①初始化部分(init_statement)(确定变量的类型和初值);
②循环条件部分(test_exp)(布尔型关系式);
③循环体部分(body_statement)(确定重复执行代码);
④迭代部分(body_statement)(确定变量值变化的趋势和幅度)
2.1.1:注意
- ②循环条件部分为boolean类型表达式,当值为false时,退出循环。(退出循环的方式之一)
- ①初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔。
- ④迭代部分可以有多个变量更新,用逗号分隔
- 切记避免死循环发生。
3.分类
共3类。 for 循环; while 循环; do-while 循环。
3.1:for 循环
3.1.1:语法格式
for (①; ② ; ④ ){
③ ;
}
3.1.2:执行过程
执行过程: ①-②-③-④-②-③-④-②-③-④-…-②
(不满足循环条件部分,跳出循环)
3.2:while 循环
3.2.1:语法格式
① 初始化部分
while(② 循环条件部分){
③循环体部分;
④迭代部分;
}
3.2.2:执行过程
执行过程: ①-②-③-④-②-③-④-②-③-④-…-②
(不满足循环条件部分,跳出循环)
3.2.3:注意
- 注意不要忘记声明④迭代部分。否则,循环将不能结束,变成死循环。
- for循环和while循环可以相互转换 。
区别:for循环和while循环的 ①初始化条件部分 的作用范围不同。
3.3:do-while 循环
3.3.1:语法格式
① 初始化条件
do{
③循环体部分;
④迭代部分;
}while(②循环条件部分);
3.3.2:执行过程
执行过程: ①-③-④-②-③-④-②-③-④-…-②
(不满足循环条件部分,跳出循环)
3.3.3:注意
- do-while 循环至少执行一次循环体;即 ①-③-④-② (不满足循环条件部分,跳出循环)-③-④-…-②(不满足循环条件部分,跳出循环)。
- 开发中,使用for和while更多一些,较少使用do-while 。
4.总结
4.1 不在循环条件部分限制次数的结构格式
2种;
方式一:for(;;)
方式二: while(true)
4.2 结束循环的方式
2种;
方式一:循环条件部分返回false
方式二:在循环体中,执行break
5. 嵌套循环
5.1:定义理解
嵌套循环:将一个循环放在另一个循环体内,就形成了嵌套循环。其中 for ,while ,do…while 均可以作为外层循环或内层循环。(实质上嵌套循环就是把内层循环当成外层循环的循环体。当内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。)
5.2:具体应用
理解:设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行 m * n 次。
外层循环控制行数,内层循环控制列数。
6. break和continue 关键字的使用
关键字 | 使用范围 | 循环中作用的不同点 | 相同点 |
---|---|---|---|
break | switch-case和循环结构中 | 结束当前循环 | 关键字后面不能声明执行语句 |
continue | 循环结构中 | 结束当次循环 | 关键字后面不能声明执行语句 |
6.2:laber: 标签
break和continue关键字都可以结合laber标签使用,表明结束标签示意的循环结构。
6.2.1:注意
注意:标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。
6.2.2:格式
格式:
- break laber;
break语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一个循环 - continue laber;
continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环
7.return语句和break语句及continue语句的区别
return:并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。
区别 : 与break和continue不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。
5. 代码示例展示
循环结构代码片。
//遍历100以内的偶数,输出所有偶数的和,输出偶数的个数。 public void scoreAdd() { /* //方式一: int sum = 0;//记录所有偶数的和 int count = 0;//记录偶数的个数 for(int i = 1;i <= 100;i++){ if(i % 2 == 0){ System.out.println(i); sum += i; count++; } //System.out.println("总和为:" + sum); } System.out.println("总和为:" + sum); System.out.println("个数为:" + count); */ //方式二: int num = 1; int sum = 0;//记录总和 int count = 0;//记录个数 do { if (num % 2 == 0) { System.out.println(num); sum += num; count++; } num++; } while (num <= 100); System.out.println("总和为:" + sum); System.out.println("个数为:" + count); }
//break和continue的测试是 public void test1() { for (int i = 1; i <= 10; i++) { if (i % 4 == 0) { break; //输出结果:123 //continue; //输出结果:123567910 //System.out.println("今晚迪丽热巴要约我!!!"); } System.out.print(i); } System.out.println("\n"); label: for (int i = 1; i <= 4; i++) { for (int j = 1; j <= 10; j++) { if (j % 4 == 0) { //break; //默认跳出包裹此关键字最近的一层循环。 //continue; //break label; //结束指定标识的一层循环结构 continue label; //结束指定标识的一层循环结构当次循环 } System.out.print(j); } System.out.println(); } }
//输出两种形态的菱形。 public void testRhombus() { //第一种,*号之间无空格。 for (int i = 1; i <= 5; i++) { for (int k = 1; k <= (5 - i); k++) { System.out.print(" "); } for (int j = 1; j <= (2 * i - 1); j++) { System.out.print("*"); } System.out.println(); } for (int i = 4; i >= 1; i--) { for (int k1 = 1; k1 <= (5 - i); k1++) { System.out.print(" "); } for (int j = 1; j <= (2 * i - 1); j++) { System.out.print("*"); } System.out.println(); } //第二种,*号之间有空格。 for (int m = 1; m <= 5; m++) { for (int z = 1; z <= (5 - m); z++) { System.out.print(" "); } for (int n = 1; n <= m; n++) { System.out.print("* "); } System.out.println(); } for (int m1 = 4; m1 >= 1; m1--) { for (int z1 = 1; z1 <= (5 - m1); z1++) { System.out.print(" "); } for (int n1 = 1; n1 <= m1; n1++) { System.out.print("* "); } System.out.println(); } }
- Kotlin——程序的基本逻辑结构之选择、循环和跳转基本语法
- java学习之路 之 基本语法-程序流程控制-循环结构-for 循环练习题
- 8.15 号 程序 循环结构作业的代码
- java学习之路 之 基本语法-程序流程控制-循环结构-嵌套循环练习题
- 程序设计基本结构(顺序、选择、循环)
- FLEX程序基本结构--循环结构程序设计
- 程序设计基本结构——顺序、选择与循环
- C#基础2 程序基本结构、循环语句
- 程序设计基本结构———顺序、选择与循环
- 黑马程序员——知识点回顾(一):基本程序结构
- 通过一个控制台小Demo--算术题,来展示C#基本的程序结构
- Linux C---程序设计基本结构——顺序、选择与循环
- 程序设计基本结构----顺序、选择与循环
- java学习之路 之 基本语法-程序流程控制-循环结构-while循环练习题
- Python学习笔记(一)程序基本结构
- oracle读书笔记-----PL/SQL编程(一)之基本数据类型、程序结构
- Python第七课-程序结构,循环分支
- [转载]windows过滤驱动程序设计入门(驱动程序基本结构,设备栈,IRP栈和工作原理)
- 逻辑运算与循环结构
- Python小程序 控制鼠标循环点击代码实例