第6章循环结构(二)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章
循环结构(二)
◇本章工作任务
实现MyShopping统计顾客的年龄层次
实现MyShopping循环录入会员信息
实现MyShopping登录时用户信息验证
◇本章技能目标
会使用for循环结构
会在程序中使用break和continue
本章单词
请在预习时学会下列单词的含义和发音,并填写
在横线处。
1.rate:
2.young:
3.schedule:
4.negative:
5.customer:
6.birthday:
7.point:
8.continue:
9.return: _
本章简介
上一章我们学习了while和do-while循环结构。在编程的过程中,把一些重复执行的代码采用循环结构进行描述,大大简化了编码工作,使得代码更加简洁、易读。相信通过使用循环结构编程,你一定体会到了它的魅力。while循环结构是先进行条件判断,然后执行循环操作;do-while循环结构是先执行依次循环操作,然后进行判断。但是Java中的循环结构不只有while和do-while两种,还有for循环结构,它又是什么样子的?有什么功能?这一章就让我们揭晓这一结构:for循环结构。
6.1 for循环
6.1.1 为什么需要for循环
在上一章,通过使用while循环,张浩轻松解决了老师补充的问题,如示例1所示。
示例1
public class WhileDemo {
public static void main(String[] args) {
int i=0;
while(i<100){ ←使用while循环
System.out.println(“好好学习,天天向上!”);
i++;
}
}
}
仔细观察你会发现,这里的循环次数“100遍”已经固定,这是我们也可以选用for循环结构来实现,如示例2所示。
示例2
public class ForDemo {
public static void main(String[] args) {
for(int i=0; i<100; i++;) { ←使用for循环
System.out.println(“好好学习,天天向上!”);
}
}
}
通过运行程序,我们可以看到示例1和示例2的运行结果是一样的,但示例2的代码看起来更加简洁。这是因为for循环将循环结构的四个组成部分集中体现在一个for结构中,更加清晰。因此,在解决有固定循环次数的问题时,就可以首选for循环结构。下面就让我们看看什么是for循环结构。
6.1.2 什么是for循环
循环语句的主要作用是反复执行一段代码,知道满足一定的条件为止。总结一下,我们可以把循环分成四个部分。
初始部分:设置循环的初始状态。比如我们设置记录循环次数的变量i为0。
循环体:重复执行的代码,即输出“好好学习,天天向上!”。
迭代部分:下一次循环开始前要执行的部分,在while循环中它作为循环体的一部分。比如使用“i++;”进行循环次数的累加。
循环条件:判断是否继续循环的条件。比如使用“i<100”判断循环次数是否已经达到100次。
在for循环结构中,这几个部分同样必不可少,不然循环就会出现错误。for循环的一般格式如下。
语法
for (表达式1;表达式2;表达式3) {
//循环体
}
记住,这里for就是此循环结构的关键字。每个表达式的含义如表6-1所示。
表6-1 for循环中三个表达式的含义
表达式形式功能举例
表达式1 赋值语句循环结构的初始部分,为循环 int i=0
变量赋初值
表达式2 条件语句循环结构的循环条件 i<100
表达式3 赋值语句,通常使循环结构的迭代部分,通常用
用++或--运算符来修改循环变量的值 i++
for关键字后面括号中的三个表达式必须用“;”隔开。for循环中的这三个部分以及{}中的循环体使循环结构必需的四个组成部分完美地结合在了一起,非常简明。
了解了for循环的语法,那么它的执行过程是怎样的呢?结合图6.1和示例2来理解。
图6.1 for循环执行过程
for循环执行的顺序如下。
(1)执行初始部分(int i=0;)。
(2)进行循环条件判断(i<100;)。
(3)根据循环条件判断结果。
如果为true,执行循环体。
如果为false,退出循环,步骤(4)、(5)均不执行。
(4)执行迭代部分,改变循环变量值(i++)。
(5)依次重复步骤(2)、(3)、(4),直到退出for循环结构。
可见,在for循环中,表达式1这个初始部分仅仅执行了1次。
6.1.3 如何使用for循环
——问题———————————————————————————————————循环输入某同学S1结业考试的五门课成绩,并计算平均分。
——分析———————————————————————————————————很明显,循环次数是固定的五次,因此我们优选for循环。使用for循环结构的步骤和使用while/do-while一样,首先要明确循环条件和循环操作,这里的循环条件是“循环次数不足五次,继续执行”,循环操作是“录入成绩,并计算成绩之和”。然后,套用for语法写出代码。最后,检查循环是否能够退出。
示例3
import java.until.★;
public class AverageScore{
public static void main(String[] args) {
int score; //每门课的成绩
int sum=0; //成绩之和
double avg=0.0; //平均分
Scanner input=new Scanner(System.in);
System.out.print(“输入学生姓名:”);
String name=input.next();
for(int i=0;i<5;i++) { //循环五次录入五门课成绩 System.out.println(“请输入5门功课中第”+(i+1)+“门课的成绩:”);
score=input.nextInt(); //录入成绩
sum=sum+score; //计算成绩和
}
avg=sum/5; //计算平均分
System.out.println(name+“的平均分是:”+avg);
}
}