- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java语言程序设计_基础篇_中文ppt_第四章
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 第4章 循 环 引言 假设你需要打印一个字符串 (例如: “Welcome to Java!”)100次。这就需要把下面的输出语句重复100遍,过程是相当繁琐: System.out.println(Welcome to Java!); 所以,该如何解决这个问题? 开放问题 问题: 介绍while循环 学习目标 while 循环流程图 跟踪while循环 跟踪while循环(续) 跟踪 while 循环(续) 跟踪 while 循环(续) 跟踪while循环(续) 跟踪 while 循环(续) 跟踪while循环(续) 跟踪 while 循环(续) 跟踪 while 循环 问题:猜数字 编写一个程序,随机生成一个在0到100之间,包括0和100的整数。程序提示用户连续输入一个数字,直到它和计算机随机生成的数字相匹配为止。对用户每次输入的数字,这个程序要告诉用户该输入太大了还是太小了,所以这样用户就可以明智地进行下一轮的猜测。下面是一个示例运行: 问题:高级数学学习工具 每次运行数学减法学习工具程序只能产生一道题目。你可以使用一个循环重复产生题目。这个示例程序产生了五个问题,在学生回答完所有的五个问题之后报告回答正确的题数。 使用标志值结束循环 通常执行循环的次数是不能预先确定的。你可以使用一个输入值来表示循环的结束。这样的值被称为标志值。 编写一个程序来读取和计算不指定个数的整数之和。输入0表示输入结束。 注意 在循环控制中,不要使用浮点值来比较值是否相等。 因为浮点值是某些值的近似值,所以使用它们可能导致不精确的循环次数和不准确的结果。 考虑下面计算1 + 0.9 + 0.8 +…+ 0.1的代码: double item = 1; double sum = 0; while (item != 0) { // No guarantee item will be 0 sum += item; item -= 0.1; } System.out.println(sum); 变量item从1开始,每次执行循环体就减少0.1。当item变为0时循环应该终止。但是,因为浮点运算结果是近似的,所以无法保item会变成真正的0。从表面上看,这个循环似乎没有问题,但它实际上是一个无限循环。 do-while循环 for循环 for (initial-action; loop-continuation-condition; action-after-each-iteration) { // loop body; Statement(s); } 跟踪for循环 跟踪for循环(续) 跟踪for循环(续) 跟踪for循环(续) 跟踪for循环(续) 跟踪for循环(续) 跟踪for循环(续) 跟踪for循环(续) 跟踪for循环(续) 跟踪for循环(续) 注意 注意 注意 在for子句末尾循环体之前添加分号是一个常见的错误,如下所示: 注意(续) 同样,下面的循环也是错误的: int i=0; while (i 10); { System.out.println(i is + i); i++; } 在do循环的环境下,循环结束的分号是必需要的。 int i=0; do { System.out.println(i is + i); i++; } while (i10); 采用哪种循环? 建 议 嵌套循环 问题:编写一个程序使用嵌套for循环打印一个乘法表。 最小化数值误差 涉及浮点数的数值误差是不可避免的。本节通过一个实例讨论如何最小化这样的误差。 下面是一个例子,计算从0.01开始到1.0结束的数列之和。该数列的数值以0.01递增,如下所示:0.01 + 0.02 + 0.03...依此类推。 问题:求最大公约数 问题:预测未来学费 问题:预测未来学费 问题:蒙特卡罗模拟 使用break和continue 回顾猜数字问题 这是一个猜数字的程序。你可以使用break语句改写它。 问题:显示素数 (GUI)使用确认对话框控制循环 使用IDE工具调试循环 int i; for (i = 0; i 2; i++) { System.out.println(Welcome to Java!); } 退出循环。 循环之后执行这条语句 动 画 for循环中的初始动作可以是零个或多个以逗号隔开的语句列表。 for 循环中每次迭
文档评论(0)