第6章循环结构(二)

上传人:hs****ma 文档编号:508650842 上传时间:2022-12-16 格式:DOCX 页数:23 大小:41.26KB
返回 下载 相关 举报
第6章循环结构(二)_第1页
第1页 / 共23页
第6章循环结构(二)_第2页
第2页 / 共23页
第6章循环结构(二)_第3页
第3页 / 共23页
第6章循环结构(二)_第4页
第4页 / 共23页
第6章循环结构(二)_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《第6章循环结构(二)》由会员分享,可在线阅读,更多相关《第6章循环结构(二)(23页珍藏版)》请在金锄头文库上搜索。

1、第6章循环结构(二)本章工作任务实现MyShopping统计顾客的年龄层次 实现MyShopping循环录入会员信息实现MyShopping登录时用户信息验证本章技能目标会使用for循环结构会在程序中使用break和continue本章单词请在预习时学会下列单词的含义和发音,并填写 在横线处。1. ra te: 2. young: 3. schedule: 4. negative: 5. customer: 6. birthday: 7. poin t: 8. con ti nue: 9.return:本章简介上一章我们学习了 while 和 do-while 循环结构。在编程的过程中,把一些

2、重复执行的代码 采用循环结构进行描述,大大简化了编码工作,使得代码更加简洁、易读。相信通过使用循 环结构编程,你一定体会到了它的魅力。while循环结构是先进行条件判断,然后执行循环 操作;do-while循环结构是先执行依次循环操作,然后进行判断。但是Java中的循环结构 不只有while和do-while两种,还有for循环结构,它又是什么样子的?有什么功能?这 一章就让我们揭晓这一结构:for循环结构。6.1 for 循环6.1.1为什么需要for循环在上一章,通过使用while循环,张浩轻松解决了老师补充的问题,如示例1所示。示例 1public class WhileDemo pub

3、lic static void main(String args) int i=0;while(iVlOO) J使用 wh订e 循环System.out.println(“好好学习,天天向上!);i+;仔细观察你会发现,这里的循环次数“100遍”已经固定,这是我们也可以选用for循环结 构来实现,如示例 2 所示。示例 2public class ForDemo public static void main(String args) for (int i=0; i 100; i+;) 使用 for 循环System.out.println(“好好学习,天天向上!);通过运行程序,我们可以看到

4、示例1和示例2的运行结果是一样的,但示例2 的代码看起来 更加简洁。这是因为for循环将循环结构的四个组成部分集中体现在一个for结构中,更加 清晰。因此,在解决有固定循环次数的问题时,就可以首选for循环结构。下面就让我们看 看什么是 for 循环结构。6.1.2 什么是 for 循环循环语句的主要作用是反复执行一段代码,知道满足一定的条件为止。总结一下,我们可以 把循环分成四个部分。初始部分:设置循环的初始状态。比如我们设置记录循环次数的变量i为0。循环体:重复执行的代码,即输出“好好学习,天天向上!”。迭代部分:下一次循环开始前要执行的部分,在while循环中它作为循环体的一部分。 比如

5、使用“i+;”进行循环次数的累加。循环条件:判断是否继续循环的条件。比如使用“i100”判断循环次数是否已经达到 100次。在for循环结构中,这几个部分同样必不可少,不然循环就会出现错误。for循环的一般格 式如下。语法for (表达式1;表达式 2;表达式 3) /循环体记住,这里for就是此循环结构的关键字。每个表达式的含义如表6-1所示。表6-1 for 循环中三个表达式的含义表达式形式功能举例表达式1赋值语句循环结构的初始部分,为循环int i=0变量赋初值表达式 2条件语句循环结构的循环条件iV100表达式 3赋值语句,通常使循环结构的迭代部分,通常用用+或-运算符来修改循环变量的

6、值i+for关键字后面括号中的三个表达式必须用隔开。for循环中的这三个部分以及中的 循环体使循环结构必需的四个组成部分完美地结合在了一起,非常简明。了解了 for循环的语法,那么它的执行过程是怎样的呢?结合图6.1和示例2来理解。图 6.1 for 循环执行过程for 循环执行的顺序如下。(1) 执行初始部分(int i=0;。(2) 进行循环条件判断(iVlOO;。( 3) 根据循环条件判断结果。如果为true,执行循环体。如果为false,退出循环,步骤(4)、(5)均不执行。(4) 执行迭代部分,改变循环变量值(i+)。(5) 依次重复步骤(2)、(3)、(4),直到退出 for 循环

7、结构可见,在for循环中,表达式1这个初始部分仅仅执行了 1次。6.1.3 如何使用 for 循环问题循环输入某同学S1结业考试的五门课成绩,并计算平均分。分析 很明显,循环次数是固定的五次,因此我们优选for循环。使用for循环结构的步骤和使用 while/do-while 一样,首先要明确循环条件和循环操作,这里的循环条件是“循环次数不 足五次,继续执行”循环操作是“录入成绩,并计算成绩之和”然后,套用for语法写出 代码。最后,检查循环是否能够退出。示例3impo rt java.u ntil.public class AverageScorepublic static void mai

8、n(String args) int score;/每门课的成绩int sum=O;/成绩之和double avg=O.O;/平均分Scanner input=new Scanner(System.in);System.out.print( “输入学生姓名:”);String name=input.next();for(int i=O;iV5;i+) /循环五次录入五门课成绩System.out.println(请输入5门功课中第” +(i+l)+ 门课的成绩:”);score=input.nextInt();/录入成绩sum=sum+score;/计算成绩和avg=sum/5;/计算平均分S

9、ys tem.ou t.prin tln(name+ “的平均分是:” +avg);示例 3 的运行结果如图 6.2 所示。图 6.2 示例 3 的运行结果在示例3中,声明循环变量i, “int i=0”是初始部分,用来记录循环次数,“iV5”是循 环条件,“i+”是迭代成分,整个循环过程是:首先执行初始部分,即i=0,然后判断循环 条件。如果为true,则执行一次循环体。循环体结束后,执行迭代部分i+,然后再判断循 环条件。如果为true,继续执行循环体,迭代部分指导循环条件为假,退出循环。好好体会一下for循环结构各个部分的执行顺序,你会发现表达式1只执行一次,表达式2 和表达式 3 则可

10、能执行多次。循环体可能多次执行,也可能一次都不执行。现在学会了如何使用for循环,赶快拿出笔来,动手试一试解决下面这个问题吧! 问题 输入任意一个整数,根据这个值输出加法表。假设输入值为6,输出效果图如图6.3所示。图 6.3 运行结果分析 由图6.3可知,循环次数为固定值,即从0递增到输入的值,循环体为两数求和。第一个加 数从0开始递增到输入的值,另一个加数相反,从输入值递减至0。具体代码如示例4所示。示例 4 impo rt java.u ntil.public class SumTable public static void main(String args) int i,j;Scan

11、ner input=new Scanner(System.in);System.out.print( “请输入一个值:”); int val=input.nextInt();System.out.println (“根据这个值可以输出以下加法表:” ) for( i=0;j=val;i+,j- -) System.out.println(i+“+”+j+“=”+(i+j); 在示例4的for循环中,表达式1使用了一个特殊的形式,它是用“,”隔开的多个表达式 组成的表达式。i=0,j=val;在表达式1中,分别对两个变量i和j赋初值,它们表示两个加数。表达式3也使用了这种 形式。i+, j-;在

12、这种特殊形式的表达式中,运算顺序是从左到右。每次循环体执行完,先执行i自加1, 再执行j自减1。通过示例,我们已经知道了 for循环的用法,在实际使用中还有哪些需要注意的地方呢? 根据for循环的语法,我们知道for循环的循环条件中有三个表达式,在语法上,这三个表 达式都可以省略,但表达式后面的分号不能省略。如果省略了表达式,要注意保证循环能够 正常运行。省略“表达式1”,比如下面的for循环语句。for ( ;i 10;i+ );这个for循环虽然省略了“表达式1”,但其后的“;”号没有省略。我们在实际编程中,如 果出现“表达式1”省略的情况,需要在for语句前给循环变量赋值,因此,可将上面

13、的语 句修改为:int i=0;for(; i 10;i+);省略“表达式2”,即不判断循环条件,循环将无终止运行,也就形成了“死循环,比 如下面的 for 语句。for(int i=O;i+); 在编程过程中要避免“死循环”的出现,所以对上面的语句可以做如下修改:一种方法是添加“表达式2”,另一种方法是在循环体中使用break强制跳出循环。关于break 的用法将在下一节介绍。省略“表达式3”,即不改变循环变量的值,也会出现“死循环”,比如对下面的语句。 for ( int i=0;iV10;);这里省略了“表达式3”,变量i的值始终为0,因此循环条件永远成立,程序就会出现“死 循环”,在这

14、种情况下,我们可以在循环体中改变i的值,语句如下。for(int i=0;iV10; ) i+;这样就能使循环正常结束,不会出现“死循环”。三个表达式都省略,即如下语句。for(;); 上面这个语句在语法上没有错,但逻辑上是错误的,我们可以参考上面三种情况的描述进行 修改。在实际开发中,为了提高代码的可读性,尽量不要省略各个表达式。如果需要省略,可以考 虑是否改用 while 或 do-while 循环。6.1.4 上机练习现在已经完成了 for 循环的学习,下面就让我们做一个练习巩固以下学习成果上机练习1指导计算顾客比例训练要点for 循环结构需求说明 商场为了提高销售额,需要对顾客的年龄层次(30岁之上/之下)进行调查(样本数为10),请计算这两个层次的顾客比例。程序运行效果如图 6.4 所示。图 6.4 输出结果实现思路及关键代码(1) 定义计数器变量young,记录年龄30岁以下顾客的人数。(2) 利用循环录入10位顾客的年龄。参考解决方案import java.until.Scanner;p

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号