编程技能训练与等级考试辅导:循环控制
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
break语句用在循环中,跳出break所在的最内层 循环。
while(………){ while(………){ for(…………….){ … break; … } … }
}
结束本次循环(continue所在的最内层循环),即跳过 循环体中尚未执行的语句。 while(………){ while(………){ for(…………….){ … continue; … } … } }
请猜测一个0~100之间的数字: 输入你猜的数字:40 你猜的数字太小了!
输入你猜的数字:50 你猜的数字太大了!
输入你猜的数字:45 你猜的数字太大了!
输入你猜的数字:43 是的,恭喜你用了 4 次猜对。那个数字就是:43
连续给出五道两位数的减法练习程序,练习者输入 答案。如果答对,给出“你答对了”的提示信息, 如果答错给出“你答错了,正确答案是。。”的提 示信息,并且要求记录答对题的数目。完成五题练 习后,要求给出完成练习的时间,及全部5道题及 答题情况显示出来。(SubtractionQuiz.java)
x1: for (int i = 0; i < 5; i++) {
System.out.println("in I loop!");
for (int j = 0; j < 5 ; j++) {
if (j == 3) { continue x1;
}
跳回x1所示循环的起始位置, 开始下一次循环
System.out.println("i=" + i + " j=" + j);
◦ while前测型循环,do-while是后测型循环 ◦ While循环的循环体很可能0循环,但 do-while循
环至少执行一次循环体。
语法:(p149) ①
④
For(表达式1; 表达式2 ; 表达式3 ) { ② ③
语句组;//循环体
} 功能:(P149)
① 遇到for语句,首先处理表达式1; ② 然后执行表达式2 ,如果条件为真,则执行循环体; ③ 执行完循环体后,执行表达式3;然后重复2、3两步。
public static void main(String[] args) {
label: for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (j == 3) {
break label;
跳出label所示的循环
}
System.out.println("i=" + i + " j=" + j);
【思考:】如果要求知道最高分是第几位同学、及格率是 多少?保留一位小数。
输出信息:
及格人数是多少人,及格率是多少%。
1.选择哪种循环?
◦ 三种循环:while与for是前测型循环、do-while是后测型循 环,三种循环表达上等价。实际使用中,哪个方法使用哪种 。
◦ 相对而言,for循环将控制循环变量初始化、循环继续条件与 每次迭代后调整放在一起,不容易出错。
}
System.out.println("J loop complete!");
}
System.out.println("loop complete!");
}
}
public class ContinueLabelDemo {
public static void main(String[] args) {
5.1 while循环语句 5.3 do-while 循环语句 5.2 for 循环语句 5.4 多重循环 5.5 循环跳转语句
掌握循环语句的控制流程 能够使用while、do-while、for语句来控制语句的重
复 理解循环条件的作用 理解三种循环结构的相同点与不同点 能够编写二重循环程序 能够使用break与continue语句控制程序跳转
思考:
◦ 如果是任意的四则运算呢? ◦ 如果是任意题数,按Y继续,按N结束
输入若干学生成绩,直到输入-1结束。求所有学生成绩的 平均值,保留一位小数,并求最高分,最低分。 (Scores.java) 要求输出信息如下:
总共有多少位同学。 最高分是多少,他是第几位同学; 最低分是多少; 平均分是多少。
while (item !=0){ sum+=item; item -=0.1;
}
能正常运行
吗?怎么修 改?
System.out.println(sum);
4. 最小化数值错误 计算0.01+0.02 +……+1.0的和。结果 应该是
50.50,怎样编程计算才精确一些? (TestSumOfDecimal.java)
2. 注意for语句与while语句头部尾不能多写分号 (P153)
◦ for(); while () ;
3. 在循环控制中,不要使用浮点值来比较值是否相
等或不等。因为浮点值都是某些值的近似值。如编写 程序求
1+0.9+0.8+…+0.1的值。
double item = 1 , sum = 0;
如果是1.0+0.99+0.98+…+0.01,从大小到计 算呢?
在将数字加到总和上进,先加较小数再加较大数是减 小误差的一种方法。
int x = 8000000ห้องสมุดไป่ตู้; while( x > 0)
x++ ;
System.out.println("x is "+ x);
为什么?
public class BreakLabelDemo {
修改“两个位数的加法练习”程序,如果练习者给 出的答案不对,则请他重新输入答案,直到正确。 (AdditionQuiz.java)
思考,如何显示重复回答的次数?
猜数字:随机产生[0,100]之间的随机整数,用户 输入一个数,判断猜测是否正确。如果猜错,计算 机提示是大了还是小了,直到猜对。提示用户猜了 几次猜对了。(GuessNumber.java)
语法: while(循环继续条件) { 循环体 }
功能:当遇到while语
句时,先判断条件, 当 条件为真时,执行循环 体,然后再回到while开 头,继续判断条件。
执行流程:
假
循环继续条件?
真
循环体
后续语句
语法: do { 循环体 } While(循环继续条件) ;
while循环语句与do-while语句区别: