第四章。循环结构(while、do-while、for)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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(“密码”);

相关文档
最新文档