第四章。循环结构(while、do-while、for)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Top
1.循环结构(while、do…while、for)
1. 循环结构(while、do…while、for)
1.1. 什么是循环结构
在日常生活中,会有很多需要反复执行的事情,比如:每一年的4个季节,每一周的7天,每日的3餐,打印机每份文档打印50份,一圈跑道400米跑3圈,都是在反复执行的。
再看软件系统中的需求:
问题1:输出100行语句,每行语句都一样,即:
∙行动是成功的阶梯,行动越多,登得越高!
∙行动是成功的阶梯,行动越多,登得越高!
∙行动是成功的阶梯,行动越多,登得越高!
…
问题2:输出100行语句,每行语句都类似,即:
∙第1,行动是成功的阶梯,行动越多,登得越高!
∙第2,行动是成功的阶梯,行动越多,登得越高!
∙第3,行动是成功的阶梯,行动越多,登得越高!
∙…
∙第100,行动是成功的阶梯,行动越多,登得越高!
问题3:计算1到50乘以8.88的结果
∙1×8.88 =8.88
∙ 2 ×8.88 =17.76
∙ 3 ×8.88 =26.64
∙ 4 ×8.88 =35.52
∙…
∙50 ×8.88 =444
诸如此类问题都是在反复执行的,在软件系统中可以通过循环这种语法结构来解决。循环是程序设计语言中反复执行某些代码的一种计算机处理过程,是一组相同或相似语句被有规律的重复性执行。
对于循环来说,需要考虑两个要素,其一要素为循环体,也就是被反复执行的相同或相似的语句,其二要素为循环的条件,也就是循环得以继续执行下去的条件,常常以循环次数的方式体现。
常用的循环结构有:while、do-while、for。
1.2. while语句
1.2.1. while语句的执行逻辑
while语句是循环的一种常见语法结构,语法如下:
1.while(boolean表达式){
语句块;
2.}
while语句的执行过程为,首先计算boolean表达式的值,而后进行判断,若值为true则执行语句块,语句块执行完后再次判断boolean表达式的值,如果为true则继续执行语句块,如此循环往复,直到boolean表达式的值为false时退出while循环而执行while之后的语句。
1.2.2. while语句的流程图
while语句的流程图如图- 11所示,需要注意的是,一般情况下,循环操作中会存在使得循环条件不满足的可能性,否则该循环将成为“死循环”。“死循环”意味着会一直执行循环体操作,循环后面的语句永远不会被执行,“死循环”在软件系统中是需要避免的。
图- 11
1.2.3. while语句用于处理循环逻辑
while语句在实际应用中应用比较广泛,通过如下示例体会while语句的执行逻辑:
1.int age =1;
2.while(age<=100){
3.System.out.println(“马上有钱”);
4.age++;
5.}
上面的语句执行过程如下,首先声明整型变量age并赋初始值为1,而后判断age是否小于等于100,条件为真,输出“马上有钱”并将age的值增1变为2,再次判断条件,此时age为2,依然小于100,再一次输出“马上有钱”并将age 的值再增1变为3,以此类推,直到age等于101时,判断条件为false,循环结束。
1.2.4. 使用break语句跳出循环
break用在循环体中用于退出循环结构。看如下示例代码:
1.int x =0;
2.while( x <10){
3.if(5== x )
4.{
5.break;
6.}
7.System.out.println(x);
8.x ++;
9.}
分析上面的代码得出结论,输出结果为0 1 2 3 4,因为当x等于5时执行break 语句直接退出循环结构了,即if语句块后面的输出x的值以及x++不再被执行。
1.3. do-while语句
1.3.1. do-while语句的执行逻辑
do-while语句也是循环的一种常见语法结构,语法如下:
1.do{
2.语句块
3.}while(boolean表达式);
do-while语句的执行过程为,先执行语句块,再判断boolean表达式,如果为true则再次执行语句块,如此循环往复,直到boolean表达式的值为false时止。也就是说,do-while语句,无论boolean表达式是否为true,都先执行一次语句块。
1.3.
2. do-while语句的流程图
do-while语句的流程图如图- 12所示,与while语句一样,do-while语句也要避免“死循环”的发生。
图- 12
1.3.3. do-while语句用于处理循环逻辑
do-while语句在实际应用中应用比较广泛,通过如下示例体会do-while语句的执行逻辑:
1.int pwd ;
2.do{
3.System.out.print(“请输入密码”);
4.pwd = scanner.nextInt();
5.}while(123!= pwd);
上面的语句执行过程如下,首先声明整型变量pwd,在do语句中提示“请输入密码”,接收用户输入的数据赋给pwd,而后判断123是否不等于pwd,若为true则执行do语句块,以此类推,直到123等于pwd时,循环结束。
1.3.4. while和do-while语句的区别
while与do-while都是用于执行循环结构的语句,区别在于,while循环先判断再执行,而do-while循环先执行一次,再判断。那么,当初始情况不满足循环条件时,while循环就一次都不会执行,而do-while循环不管任何情况都至少会执行一次。
注意:while和do-while语句的不同仅仅体现在第一次就不满足条件的循环中;如果不是这样的情况,while与do-while可以互换。请看如下两段示例程序:
1.示例1:while循环方式
2.int pwd =0;
3.while(123!= pwd){
4.System.out.print(“密码:”);
5.pwd = scanner.nextInt();
6.}
7.示例2:do-while循环方式
8.int pwd ;
9.do{
10.System.out.print(“密码”);