流程控制语句(理论).ppt

上传人:re****.1 文档编号:568597731 上传时间:2024-07-25 格式:PPT 页数:91 大小:2.96MB
返回 下载 相关 举报
流程控制语句(理论).ppt_第1页
第1页 / 共91页
流程控制语句(理论).ppt_第2页
第2页 / 共91页
流程控制语句(理论).ppt_第3页
第3页 / 共91页
流程控制语句(理论).ppt_第4页
第4页 / 共91页
流程控制语句(理论).ppt_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《流程控制语句(理论).ppt》由会员分享,可在线阅读,更多相关《流程控制语句(理论).ppt(91页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章 流程控制语句流程控制语句回顾回顾了解了解Java的特殊字符的特殊字符熟练掌握熟练掌握Java的的8种数据类型种数据类型熟练使用熟练使用Java变量变量理解类型转换理解类型转换熟练掌握运算符的优先级熟练掌握运算符的优先级回顾回顾 找出错误并更正找出错误并更正输出结果是什么?输出结果是什么?int radius = 10;double high = 1.9; int vol = 3.14 * radius * radius * high;需进行强制类型转换需进行强制类型转换 int num1 = 19; int num2 = 89; int temp; temp = num1; nu

2、m1 = num2; num2 = temp; System.out.println(num1); System.out.println(num2);int vol = (int)(3.14 * radius * radius * high);8919借助一个中间变量互换借助一个中间变量互换两个变量的值两个变量的值本章任务本章任务描述商品真假描述商品真假比较成绩高低比较成绩高低根据成绩高低做出奖惩根据成绩高低做出奖惩判断成绩是优秀、良好、及格还是差判断成绩是优秀、良好、及格还是差掌握掌握boolean类型的用法类型的用法掌握关系运算符和逻辑运算符掌握关系运算符和逻辑运算符掌握掌握if条件结构条

3、件结构使用基本if条件结构使用多重if条件结构掌握掌握switch结构的用法结构的用法掌握键盘输入掌握键盘输入本章目标本章目标1. 程序的基本结构程序的基本结构u程序的3种结构n顺序结构:自上而下的逐行执行代码n选择结构:根据逻辑判断代码的执行顺序n循环结构:根据逻辑重复执行某个代码块1.1 顺序结构顺序结构 u顺序结构:自上而下地逐行执行代码输入数据处理数据输出结果自上而下顺序执行1.2 选择结构选择结构 u 选择结构:根据逻辑判断代码的执行顺序条件不成立条件成立语句块条件语句块1.3 循环结构循环结构 u循环结构:根据逻辑重复执行某个代码块循环体循环条件条件成立条件不成立用什么数据类型能表

4、示用什么数据类型能表示一件商品是真货还是假货一件商品是真货还是假货一个条件成立还是不成立一个条件成立还是不成立boolean (布尔布尔)类型类型boolean类型的值:类型的值:真:真:true假:假:falseboolean类型只有这两个值类型只有这两个值为什么需要为什么需要boolean类型类型1、用、用boolean类型描述:学员张三的考试成绩是类型描述:学员张三的考试成绩是否比学员李四(否比学员李四(80分)高分)高如何使用如何使用boolean类型类型int liSi = 80; /学员李四成绩学员李四成绩boolean isBig ; /声明一个声明一个boolean类型的变量类

5、型的变量 Scanner input = new Scanner(System.in); System.out.print(输入学员张三成绩输入学员张三成绩: ); /提示要输入学员张三的成绩提示要输入学员张三的成绩int zhangSan = input.nextInt(); /输入张三的成绩输入张三的成绩 isBig = zhangSan liSi ; /将比较结果保存在将比较结果保存在boolean变量中变量中 System.out.println( 张三成绩比李四高吗张三成绩比李四高吗 ? +isBig ); /输出比较结果输出比较结果存储比较结果存储比较结果条件表达式条件表达式从控制

6、台接收一从控制台接收一个整数个整数完整代码演示完整代码演示演示示例演示示例1:用:用boolean变量描述信息变量描述信息比较高低、大小、长短比较高低、大小、长短张三的考试成绩是否比李四高张三的考试成绩是否比李四高大象是否比乌龟更长寿大象是否比乌龟更长寿篮球跟地球一样大吗篮球跟地球一样大吗如何比较?如何比较?使用使用关系运算符关系运算符可以比较高低、大小、长短可以比较高低、大小、长短为什么使用关系运算符为什么使用关系运算符什么是关系运算符什么是关系运算符常用的关系运算符有哪些:常用的关系运算符有哪些:,=,=大象的寿命大象的寿命 李四的成绩李四的成绩 假假令狐冲每次考试成绩令狐冲每次考试成绩

7、= 90分分 真真篮球的大小篮球的大小 = 地球的大小地球的大小 假假由此看出由此看出关系运算符关系运算符的作用:的作用:用来做比较运算用来做比较运算比较后结果:比较后结果:boolean类型类型 2、如如果果令令狐狐冲冲的的Java考考试试成成绩绩大大于于90分分,师师父父就就奖奖励励他他一本武功秘笈一本武功秘笈为什么需要为什么需要if条件结构条件结构使用使用if条件结构条件结构可以解决可以解决什么是什么是if条件结构条件结构if条件结构是根据条件判断之后再做处理条件结构是根据条件判断之后再做处理if ( 条件条件 ) /语句语句 if ( 令狐冲令狐冲Java成绩成绩 90 ) 师父奖励令

8、狐冲;师父奖励令狐冲;结合问题结合问题2基本的基本的if条件结构条件结构表达表达式式语句语句假假真真如何使用如何使用if条件结构条件结构 回顾:如果令狐冲的回顾:如果令狐冲的Java考试成绩大于考试成绩大于90分,师父就奖分,师父就奖励他励他独孤九剑独孤九剑剑谱剑谱使用使用if条件结构该如何实现条件结构该如何实现import java.util.Scanner;public class Huashanpai public static void main(String args) Scanner input = new Scanner(System.in); System.out.print(

9、输入令狐冲的输入令狐冲的Java成绩成绩: ); int score = input.nextInt(); /令狐冲的令狐冲的Java成绩成绩 if ( score 90 ) /判断是否大于判断是否大于90分分 System.out.println(师父说师父说:不错,给你不错,给你独孤九剑独孤九剑剑谱剑谱); 演示示例演示示例2:使用基本:使用基本if条件结构条件结构如何使用如何使用if条件结构条件结构 3、令令狐狐冲冲Java成成绩绩大大于于90分分,而而且且音音乐乐成成绩绩大大于于80分分,师师父父奖奖励励他他;或或者者Java成成绩绩等等于于100分分,音音乐乐成成绩绩大大于于70分,

10、师父也可以奖励他分,师父也可以奖励他分析:怎样把多个条件连接起来?分析:怎样把多个条件连接起来?使用使用逻辑运算符逻辑运算符运算符运算符表达式表达式说明明&条件条件1 & 条件条件2仅仅两个条件同两个条件同时为真,真,结果果为真真|条件条件1 | 条件条件2只要两个条件有一个只要两个条件有一个为真,真,结果果为真真! 条件条件条件条件为真真时,结果果为假假条件条件为假假时,结果果为真真问题问题3的条件如何编写的条件如何编写如何使用如何使用if条件结构条件结构多使用小括号多使用小括号( )控制优先级控制优先级score1 90 & score2 80 | score1 = 100 & score

11、2 70运算符的优先级:运算符的优先级:最高的优先级:小括号,即最高的优先级:小括号,即( )最低的优先级:赋值运算符,即最低的优先级:赋值运算符,即=优先级顺序:!优先级顺序:!算术运算符算术运算符比较运算符比较运算符&|public class Huashanpai public static void main(String args) int score1 = 100; /令狐冲的语文成绩令狐冲的语文成绩 int score2 = 72; /令狐冲的历史成绩令狐冲的历史成绩 if ( (score1 90 & score2 80) | (score1 = 100 & score2 70

12、) ) System.out.println(师父说师父说:不错,给你不错,给你独孤九剑独孤九剑剑谱剑谱); 如何使用如何使用if条件结构条件结构6-4 4、如如果果令令狐狐冲冲考考试试成成绩绩大大于于90分分,师师父父就就奖奖励励他他独孤九剑独孤九剑,否则师父就罚他上思过崖闭关思过,否则师父就罚他上思过崖闭关思过使用两个基本使用两个基本if条件结构条件结构使用使用if-else条件结构条件结构实现实现if ( score 90 ) System.out.println(师父说师父说:不错,给你不错,给你独孤九剑独孤九剑剑谱剑谱); if ( score 90 ) 师父奖励令狐冲;师父奖励令狐

13、冲;else 师父罚他闭关思过;师父罚他闭关思过;结合问题结合问题4真真表达表达式式语句语句1假假语句语句2使用使用if-else条件结构解决问题条件结构解决问题4public class Huashanpai public static void main(String args) int score = 89; /令狐冲的语文成绩令狐冲的语文成绩 if ( score 90 ) System.out.println(师父说师父说:不错,给你不错,给你独孤九剑独孤九剑剑谱剑谱); else System.out.println(师父说师父说:不孝徒,上思过崖闭关思过去吧不孝徒,上思过崖闭关思

14、过去吧); 演示示例演示示例4:使用:使用if-else结构结构如何使用如何使用if条件结构条件结构6-6小结小结1说出已学过的基本数据类型有哪些?说出已学过的基本数据类型有哪些?int、double、char、boolean、byte、short、long、float举例说明已学过的运算符有哪些?举例说明已学过的运算符有哪些?赋值运算符、算术运算符、条件运算符、逻辑运算符if和和if-else条件结构执行的顺序是什么?条件结构执行的顺序是什么?if:如果条件表达式成立,执行语句if-else:如果条件表达式成立,执行语句1,如果不成立,执行语句21、 小布什买了一筐鸡蛋,如果坏蛋少于小布什买

15、了一筐鸡蛋,如果坏蛋少于5个,他就吃掉,否则他个,他就吃掉,否则他就去退货就去退货2、 要求用户输入两个数要求用户输入两个数a、b,如果,如果a能被能被b整除或整除或a加加b大于大于1000,则输出,则输出a,否则输出,否则输出b小结小结1为什么使用多重为什么使用多重if结构结构 5、对学员的结业考试成绩评测、对学员的结业考试成绩评测 成绩成绩=90 :优秀:优秀 成绩成绩=80 :良好:良好 成绩成绩=60 :中等:中等 成绩成绩= 90 ) System.out.println(优秀优秀); else if (score = 80 ) System.out.println(良好良好); e

16、lse if (score = 60 ) System.out.println(中等中等); else System.out.println(差差); 大于等于大于等于90分分大于等于大于等于60分,小于分,小于80分分小于小于60分分大于等于大于等于80分,小于分,小于90分分演示示例演示示例5:使用多重:使用多重if结构结构为什么使用为什么使用switch结构结构 6、 令狐冲参加比武大会令狐冲参加比武大会如果获得第一名,将出任武林盟主如果获得第一名,将出任武林盟主如果获得第二名,将出任武当掌门如果获得第二名,将出任武当掌门如果获得第三名,将出任峨嵋掌门如果获得第三名,将出任峨嵋掌门否则,

17、将被逐出师门否则,将被逐出师门使用使用if条件结构如何实现条件结构如何实现 实现实现代码代码更好的解决办法:使用更好的解决办法:使用switch结构结构解决解决switch (表达式表达式) case 常量常量 1:语句语句;break; case 常量常量 2:语句语句;break; default:语句语句;switch结构结构什么是什么是switch结构结构计算表达式的值计算表达式的值如果等于常量如果等于常量1 如果等于常量如果等于常量2 如果没有找到匹配的值如果没有找到匹配的值 使用使用switch结构解决问题结构解决问题6 如何使用如何使用switch结构结构int mingCi =

18、 1;switch (mingCi) case 1: System.out.println(出任武林盟主出任武林盟主); break; case 2: System.out.println(出任武当掌门出任武当掌门); break; case 3: System.out.println(出任峨嵋掌门出任峨嵋掌门); break; default: System.out.println(被逐出师门被逐出师门);第一名的情况下第一名的情况下第二名的情况下第二名的情况下第三名的情况下第三名的情况下其他情况下其他情况下完整代码演示完整代码演示演示示例演示示例6:使用:使用switch结构结构常见错误常

19、见错误3-1int mingCi = 1;switch (mingCi) case 1: System.out.println(出任武林盟主出任武林盟主); case 2: System.out.println(出任武当掌门出任武当掌门); case 3: System.out.println(出任峨嵋掌门出任峨嵋掌门); default: System.out.println(被逐出师门被逐出师门);输出结果是什么?输出结果是什么?如果需要每个如果需要每个case执行完后跳出,执行完后跳出,在每个在每个case后不要忘记写后不要忘记写break;演示示例演示示例7:完整代码完整代码常见错误常

20、见错误3-2 int mingCi = 1;switch (mingCi) case 1: System.out.println(出任武林盟主出任武林盟主); case 2: System.out.println(出任武当掌门出任武当掌门); case 2: System.out.println(出任峨嵋掌门出任峨嵋掌门); default: System.out.println(被逐出师门被逐出师门);case后面的常量必须各不相同后面的常量必须各不相同代码错误代码错误常见错误常见错误3-3String day = 星期一星期一;switch (day) case 星期一星期一: Syste

21、m.out.println(星期一:青菜星期一:青菜 ); break; case 星期二星期二: System.out.println(星期二:鱼星期二:鱼 ); break; default:switch后面小括号中表达式的后面小括号中表达式的值必须是整型或字符型值必须是整型或字符型演示示例演示示例8:完整代码完整代码代码错误代码错误比较比较switch和多重和多重if结构结构相同点相同点不同点不同点switch多重if都可以实现多分支结构都可以实现多分支结构只能处理等值的条件判断,且条件是整型变量或字符只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断变量的等值判断处理在处理在

22、else部分还包含其它部分还包含其它if结构,特别适合某个变结构,特别适合某个变量处于某个区间时的情况量处于某个区间时的情况小结小结2输入赵本山的考试成绩,显示所获奖励输入赵本山的考试成绩,显示所获奖励成绩=100分,爸爸给他买辆车成绩=90分,妈妈给他买MP490分成绩=60分,妈妈给他买本参考书成绩60分,什么都不买参考代码参考代码张三为他的手机设定了自动拨号张三为他的手机设定了自动拨号按1:拨爸爸的号按2:拨妈妈的号按3:拨爷爷的号按4:拨奶奶的号 编程实现此业务参考代码参考代码总结总结什么数据类型可以描述真和假?什么数据类型可以描述真和假?描述几种分支结构的语法和执行过程?描述几种分支

23、结构的语法和执行过程?什么情况下会使用多重什么情况下会使用多重if条件结构?条件结构?多重多重if条件结构和条件结构和switch结构的区别和适用场合是什么?结构的区别和适用场合是什么?理解循环的含义理解循环的含义会使用会使用while循环结构循环结构会使用会使用do-while循环结构循环结构会使用调试解决简单的程序错误会使用调试解决简单的程序错误本章目标本章目标 1、盈盈为了考验令狐冲夺冠的决心,要他说一百遍、盈盈为了考验令狐冲夺冠的决心,要他说一百遍“我能行!我能行!” System.out.println(第第1次说:我能行!次说:我能行!);System.out.println(第第

24、2次说:我能行!次说:我能行!);System.out.println(第第100次说:我能行!次说:我能行!);100条条2、盈盈要他说、盈盈要他说10000遍遍“我是最棒的!我是最棒的!”,怎么办,怎么办?为什么需要循环为什么需要循环2-1为什么需要循环为什么需要循环2-2System.out.println(我是最棒的!我是最棒的!);System.out.println(我是最棒的!我是最棒的!);System.out.println(我是最棒的!我是最棒的!);System.out.println(我是最棒的!我是最棒的!);System.out.println(我是最棒的!我是最棒

25、的!);System.out.println(我是最棒的!我是最棒的!); System.out.println(我是最棒的!我是最棒的!);int i = 1;while ( i = 100 )System.out.println(我能行!我能行! ); i +;i=10000 我是最棒的!我是最棒的!); 没有使用循环结构没有使用循环结构使用使用while循环循环完整代码完整代码1完整代码完整代码2演示示例演示示例2:使用循环结构解决问题使用循环结构解决问题1什么是循环什么是循环生活中的循环生活中的循环打印打印50份试卷份试卷10000米赛跑米赛跑旋转的车轮旋转的车轮循环结构的特点循环结构

26、的特点循环结构循环结构 循环条件循环条件循环操作循环操作锲而不舍地学习锲而不舍地学习什么是什么是while循环循环特点:先判断,再执行特点:先判断,再执行while ( 循环条件循环条件 ) 循环操作循环操作符合条件,循环继续执符合条件,循环继续执行;否则,循环退出行;否则,循环退出循环中被重复循环中被重复执行的操作执行的操作int i = 1;while ( i = 30 ) System.out.println(我能行!我能行!); i +;编码规范:编码规范:缩进、换行缩进、换行循环操作循环操作 循环条件循环条件 真真假假3、如何用程序描述下面这个故事呢?、如何用程序描述下面这个故事呢?

27、为了备战,令狐冲锲而不舍地练习,盈盈严格把关为了备战,令狐冲锲而不舍地练习,盈盈严格把关“盈盈,怎么样,可以了吗?盈盈,怎么样,可以了吗?”“不行,高音部分唱得还不是很好,钢琴还要继续练啊不行,高音部分唱得还不是很好,钢琴还要继续练啊 !”没有听到没有听到“很棒很棒”的评价,看来革命尚未成功的评价,看来革命尚未成功, 令狐冲并不气馁令狐冲并不气馁:早上早上5点练声,上午练钢琴,下午到声乐老师家练习唱歌,晚上练习舞蹈基本功。点练声,上午练钢琴,下午到声乐老师家练习唱歌,晚上练习舞蹈基本功。 循环条件循环条件 循环操作循环操作 使用使用while循环的步骤循环的步骤1、分析循环条件和循环操作、分析

28、循环条件和循环操作2、套用、套用while语法写出代码语法写出代码3、检查循环是否能够退出、检查循环是否能够退出怎样使用怎样使用while循环循环3-1怎样使用怎样使用while循环循环3-2System.out.print(表演得怎么样表演得怎么样 ?(y/n):);answer = input.next();while (! answer.equals(y) System.out.println(早上早上5点开始练声点开始练声 !);System.out.println(上午练习钢琴上午练习钢琴 !);System.out.println(下午到声乐老师家练习唱歌下午到声乐老师家练习唱歌

29、!); System.out.println(晚上练习舞蹈基本功晚上练习舞蹈基本功!); System.out.print(表演得怎样表演得怎样 ?(y/n):);answer = input.next();System.out.println(圆满完成圆满完成 !);循环条件循环条件循环操作循环操作比较两个比较两个String类型类型的值是否相等的值是否相等 演示示例演示示例3:使用使用while循环结构循环结构 怎样使用怎样使用while循环循环3-3 4、录入班级人数和学员成绩,计算班级学员的平均成绩、录入班级人数和学员成绩,计算班级学员的平均成绩 循环条件:目前录入的成绩数目小于总人数

30、循环条件:目前录入的成绩数目小于总人数循环操作:录入学生成绩,并累加求和循环操作:录入学生成绩,并累加求和 演示示例演示示例4:使用使用while循环结构循环结构 while(i=stuNum) System.out.print(请输入学号请输入学号 + i + 的成绩:的成绩:); score = input.nextInt(); sum = sum + score; i+; avg = sum / stuNum ; while循环常见问题循环常见问题3-1/* 打印打印4次次“欢迎大唐高僧欢迎大唐高僧” */public static void main(String args)int i

31、 = 0;while (i 4 ) System.out.println(欢迎欢迎大唐高僧大唐高僧); i + ; 永远都不会退出的循环称为永远都不会退出的循环称为死循环死循环 循环一直执行,不会退循环一直执行,不会退出,哪里出错了?出,哪里出错了?while循环常见问题循环常见问题3-2/* 打印打印4次次“欢迎欢迎大唐高僧大唐高僧” */public static void main(String args)int i= 1;while ( i 4 ) System.out.println(欢迎欢迎大唐高僧大唐高僧); i +; i 5 ) System.out.println(欢迎欢迎大

32、唐高僧大唐高僧); i +; 注意:注意:如果一开始条件就不满足,如果一开始条件就不满足,while循环一次都不执行循环一次都不执行 i 5一次都没有打印,一次都没有打印,哪里出错了?哪里出错了? 2010年培养学员年培养学员8万人,每年增长万人,每年增长25%,请问按此增长速,请问按此增长速度,到哪一年培训学员人数将达到度,到哪一年培训学员人数将达到20万人?万人?提示:提示:1、循环条件和循环操作分别是什么?、循环条件和循环操作分别是什么?2、int year = 2010; double students = 80000; while 3、2011年培训学员数量年培训学员数量 = 800

33、00 * (1 + 0.25 ) 参考代码参考代码小结小结1do-while循环循环5、如何用程序讲述下面的故事?、如何用程序讲述下面的故事?苦练半年,眼看大赛在即,苦练半年,眼看大赛在即,盈盈提议:彩排一次,如果很令人满意,以后就不用彩排了,否则每天都要彩排,盈盈提议:彩排一次,如果很令人满意,以后就不用彩排了,否则每天都要彩排,直到现场表现让她满意为止!直到现场表现让她满意为止!他能否用动听的歌声震撼盈盈,用美妙的钢琴声博得赞赏呢?他能否用动听的歌声震撼盈盈,用美妙的钢琴声博得赞赏呢?do 循环操作循环操作while ( 循环条件循环条件 );while (循环条件循环条件) 循环操作循环

34、操作while循环先判断,再执行循环先判断,再执行不适合描述此故事不适合描述此故事 什么是什么是do-while循环循环do 循环操作循环操作 while ( 循环条件循环条件 );先执行一遍循环操作先执行一遍循环操作符合条件,循环继续执行;否符合条件,循环继续执行;否则,循环退出则,循环退出特点:先执行,再判断特点:先执行,再判断循环操作循环操作 循环条件循环条件 真真假假怎样使用怎样使用do-while循环循环2-1do System.out.println(唱歌唱歌 !);System.out.println(演奏肖邦钢琴曲演奏肖邦钢琴曲 !);System.out.print(可以了吗

35、可以了吗 ?(y/n):);answer = input.next(); while (!answer.equals(y) ) ;System.out.println(大功告成大功告成 !);循环条件循环条件先执行一遍循环操作先执行一遍循环操作演示示例演示示例5:使用使用do-while循环结构循环结构怎样使用怎样使用do-while循环循环2-26、连续录入学生姓名,输入、连续录入学生姓名,输入“q”则系统退出则系统退出String name ;Scanner input = new Scanner(System.in);do System.out.print(请输入学生姓名:请输入学生姓名

36、:); name = input.next();while ( !name.equals(q) );System.out.println(程序结束程序结束);演示示例演示示例6:使用使用do-while循环结构循环结构while循环和循环和do-while循环的区别循环的区别语法不同初始情况不满足循环条件时while循环一次都不会执行do-while循环不管任何情况都至少执行一次do 循环操作循环操作 while( 循环条件循环条件 );while ( 循环条件循环条件 ) 循环操作循环操作先判断,再执行先判断,再执行先执行,再判断先执行,再判断比较比较while和和do-while小结小结2

37、 使用使用do-while实现:输出摄氏温度与华氏温度的对照表,要求它从实现:输出摄氏温度与华氏温度的对照表,要求它从摄氏温度摄氏温度0度到度到250度,每隔度,每隔20度为一项,对照表中的条目不超过度为一项,对照表中的条目不超过10条。条。 转换关系:华氏温度转换关系:华氏温度 = 摄氏温度摄氏温度 * 9 / 5.0 + 32 参考代码参考代码提示:提示:1、循环操作:计算摄氏温度,并输出对照条目、循环操作:计算摄氏温度,并输出对照条目2、循环条件:条目、循环条件:条目=10 & 摄氏温度摄氏温度 = 250public class TempTable public static void

38、 main(String args) double f; / 华氏华氏double c = 0; / 摄氏摄氏int count = 1; / 条目条目System.out.println(摄氏温度摄氏温度 + t华氏温度华氏温度);do f = c * 9 / 5.0 + 32; / 转换转换System.out.println(c + t + f);c = c + 20;count+; while (count = 10 & c = 250);程序调试程序调试9-1令狐冲锲而不舍地练,但还是不令人满意。怎么回事呢?令狐冲锲而不舍地练,但还是不令人满意。怎么回事呢?他仔细地分析,哪一步出错了

39、呢?他仔细地分析,哪一步出错了呢?歌唱得不好?钢琴演奏不过关?歌唱得不好?钢琴演奏不过关?这次,他每进行一步都问盈盈的评价。这次,他每进行一步都问盈盈的评价。盈盈觉得令狐冲唱歌感情投入不够。问题找到啦!盈盈觉得令狐冲唱歌感情投入不够。问题找到啦!唱歌时练习先打动自己,再打动别人唱歌时练习先打动自己,再打动别人 嘿嘿,问题解决。嘿嘿,问题解决。“大功告成!大功告成!”程序出错程序出错分步运行,查找原因分步运行,查找原因找到问题找到问题修正错误修正错误解决问题!解决问题!程序调试程序调试9-2当程序出错时,我们也希望能这样:当程序出错时,我们也希望能这样:程序执行时忽闪一下就运行结束,怎么让程序一

40、步一步运行?程序执行时忽闪一下就运行结束,怎么让程序一步一步运行?程序调试程序调试设置断点设置断点单步运行单步运行观察变量观察变量逐条语句执行程序逐条语句执行程序观察程序执行情况观察程序执行情况发现问题发现问题解决问题解决问题断点:断点:程序暂停执行的代码行程序暂停执行的代码行 程序调试程序调试9-37、使用、使用do-while打印打印5次次“你好天蓬元帅!你好天蓬元帅!”int i = 1;do System.out.println(“你好天蓬元帅你好天蓬元帅!); i = i + 1; while ( i 5 );完整代码完整代码只打印了只打印了4次!怎么查找次!怎么查找错误呢?错误呢?

41、程序调试程序调试9-4程序调试的步骤程序调试的步骤1、猜测出错位置,设置断点2、单步运行3、观察变量4、发现问题5、修正代码,重新运行6、解决问题程序调试程序调试9-5步骤步骤1:猜测出错位置,设置断点:猜测出错位置,设置断点然后,点击工作台上 按钮,启动调试演示示例演示示例7:设置断点、设置调试配置、启动调试:设置断点、设置调试配置、启动调试启动调试启动调试双击对应代码行的左侧边双击对应代码行的左侧边栏即可设置断点栏即可设置断点程序调试程序调试9-9调试调试 程序员程序员70%时间在做的事情时间在做的事情调试史话调试史话调试的主要方法调试的主要方法bug缺陷缺陷 找出并解决找出并解决bug的

42、过程的过程debug调试调试设置断点设置断点单步执行单步执行观察变量观察变量小结小结31、程序调试的目的? 2、程序调试的主要方法? 3、调试的主要步骤?找出缺陷原因,修正缺陷找出缺陷原因,修正缺陷设置断点、单步执行、观察变量设置断点、单步执行、观察变量1、猜测出错位置,设置断点、猜测出错位置,设置断点2、单步运行、单步运行3、观察变量的值、观察变量的值4、发现问题、发现问题5、修正代码,重新运行、修正代码,重新运行6、解决问题、解决问题总结总结循环结构的特点是什么?循环结构的特点是什么?while循环和循环和do-while循环有什么区别?循环有什么区别?如何设置断点和启动调试?如何设置断点

43、和启动调试?作业作业编写一个程序,实现两个数字交换。编写一个程序,实现两个数字交换。编写编写Java程序,根据用户输入的考试分数判断等级程序,根据用户输入的考试分数判断等级用户输入两个数,再输入一个符号,根据操作符来判断运算方式。例用户输入两个数,再输入一个符号,根据操作符来判断运算方式。例如如“+”就进行加法运算。就进行加法运算。编写程序,分别使用编写程序,分别使用while、dowhile、for循环求循环求100200的累加的累加和和使用使用for循环,判断用户输入的数字是否为正整数,如果是则计算其阶循环,判断用户输入的数字是否为正整数,如果是则计算其阶乘乘求求11000之间可以同时被之

44、间可以同时被3、5、7整除的数字整除的数字回顾回顾 while循环和循环和do-while循环结构之间的异同?循环结构之间的异同?代码填空代码填空: 实现整数反转实现整数反转程序调试有哪几个步骤?程序调试有哪几个步骤?public class huiwen public static void main(String args) int val = 12345; int r_digit; System.out.print(反转后的整数是:); while(_) _; _; _; while(val!=0) r_digit = val %10; System.out.print(r_digit)

45、; val = val /10; 完整案例学会使用学会使用for循环结构循环结构学会在程序中使用学会在程序中使用break和和continue熟练使用熟练使用Eclipse调试工具进行程序调试调试工具进行程序调试 本章目标本章目标为什么使用为什么使用for循环循环2-1回顾问题回顾问题1:令狐冲说一百遍:令狐冲说一百遍“我最棒我最棒” 回顾问题回顾问题2:根据人数和成绩,计算平均成绩:根据人数和成绩,计算平均成绩解决: 使用while循环共同点:确定的循环次数 更优解决: for循环结构为什么为什么使用使用for循环循环2-2 int i=0;while(i100) System.out.pr

46、intln(我最棒); i+; for(int i=0;i100;i+) System.out.println(我最棒); for比while更简洁while循环结构for循环结构for循环的语法和执行顺序什么是什么是for循环循环for( ; ; ) ; 条件为true 循环体被执行 for ( int i = 0 ; i 100 ; i+ ) System.out.println(我最棒); 代码规范:格式对齐、代码的缩进 表达式1 表达式2 表达式3 循环操作 参数初始化条件判断更新循环变量1243如何使用如何使用for循环循环3-11、循环录入某学员S1的5门课成绩,计算平均分循环次数

47、:5循环条件:循环的次数不足5,继续循环循环操作:录入成绩,计算成绩之和使用使用for循环结构的步骤循环结构的步骤1、分析循环条件和循环操作2、套用for语法写出代码3、检查循环是否能够退出结合问题1如何使用如何使用for循环循环3-2 /省略声明变量 for(int i = 0; i 5; i+) /循环5次录入5门课成绩 System.out.print(请输入5门功课中第 + (i+1) + 门课的成绩: ); score = input.nextInt(); sum = sum + score; avg = sum / 5; /计算平均分 System.out.println(name

48、 + 的平均分是: + avg);初始值:i= 0循环条件:i5循环变量改变:i+循环操作执行5次演示示例1:使用for循环结构完整代码如何使用如何使用for循环循环3-3 2、输出如图所示加法表for( int i = 0, j = val; i=val; i+, j- ) System.out.println(i + + + j + = + (i+j); 1、循环初始化:i = 0;j = 输入值2、循环条件:i=输入值3、循环操作:计算i+j4、循环变量的改变:i+,j-完整代码表达式3可以是用“,”隔开的多个表达式,运算顺序从左到右表达式1中可以声明多个同一类型的值并赋值,用“,”隔开

49、演示示例2:使用for循环结构for循环常见问题循环常见问题4-1for(;i10;i+) System.out.println(这是 +i);int i=0;编译错误:变量 i 没有初始化for( ; ; ) ; 不能省略 可省略表达式1省略,循环变量的初始值在for语句之前由赋值语句取得for循环常见问题循环常见问题4-2for(int i=0;i+) System.out.println(这是 +i);编译正确,但是缺少循环条件,造成死循环for循环常见问题循环常见问题4-3for(int i=0;i10;) System.out.println(这是 +i); i+;省略表达式3,在循

50、环体内应设法改变循环变量的值以结束循环编译通过,但是循环变量的值无变化,造成死循环for循环常见问题循环常见问题4-4for(;) System.out.println(这是测试);表达式全省略,无条件判断,循环变量无改变,应在循环体内设法结束循环,否则会造成死循环死循环小结小结1 求1100之间不能被3整除的数之和 (使用for循环结构) 参考代码为什么需要为什么需要break语句语句int i = 2;switch(i) case 1: System.out.println(星期一); break; case 2: System.out.println(星期二); break; /其他语句

51、遇到break,立即跳出switch语句回顾回顾break用于用于switch语句语句描述描述4000米长跑比赛米长跑比赛for (int i = 0; i10; i+) 跑400米; if(不能坚持) break; /退出比赛 第8圈,快累死了我要退出什么是什么是break语句语句break:改变程序控制流:改变程序控制流用于do-while、while、for中时,可跳出循环而执行循环后面的语句while() break; 跳出整个循环break通常在循环中与条件语句一起使用如何使用如何使用break语句语句2-1 3、循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并

52、提示录入错误循环录入成绩,判断录入正确性:录入错误,使用break语句立刻跳出循环;否则,累加求和演示示例3:使用break语句如何使用如何使用break语句语句2-2for(int i = 0; i 5; i+) /循环5次录入5门课成绩 System.out.print(请输入5门功课中第 + (i+1) + 门课的成绩: ); score = input.nextInt(); /从控制台接收数据 if(score 0) wrong = false; /出错标识 break; /退出循环 sum = sum + score;循环外的语句对录入的分数进行判断,如果小于0,标记出错状态,并立即

53、跳出整个for循环问题3完整代码演示110之间的整数相加,得到累加值大于20的当前数1、使用循环进行累加,从1到102、判断累加值是否大于203、如果大于20,则跳出循环,并打印当前值/定义一个变量,进行累加 int sum=0; for(int i=1;i 20 ) System.out.print(当前数是:+i); break; 参考代码小结小结2演示运行效果为什么需要为什么需要continue语句语句 4、循环录入Java课的学生成绩,统计分数大于等于 80分的学生比例1、通过循环,获得分数大于等于80分的学生人数num2、判断:如果成绩80,不执行num+,直接进入下一次循环什么是什

54、么是continue语句语句continue :只能用在循环里:只能用在循环里continue 作用:跳过循环体中剩余的语句而执行下一次循环作用:跳过循环体中剩余的语句而执行下一次循环while() continue; 继续下一次循环通常与条件语句一起使用,加速循环for(int i = 0; i10;i+) 跑400米; if(!口渴) continue; /不喝水,继续跑 接过水壶,喝水;示例如何使用如何使用continue for(int i = 0; i total; i+) System.out.print(请输入第 + (i+1) + 位学生的成绩: ); score = inpu

55、t.nextInt(); if(score 80) continue; num+; /大于等于80分的人数double rate = (double) num / total * 100;System.out.println(80分以上的学生所占的比例为:+ rate + %);对录入的分数进行判断,如果小于80,跳出本次循环,执行下一次循环问题4完整代码1、使用循环进行累加,循环的范围是从1至102 、判断当前数是否为偶数3 、如果为奇数跳过,执行下一个循环,如果为偶数,进行累加int sum=0; /定义一个变量,进行累加for(int i=1;i=10;i+) if( i % 2 = 1

56、) continue; /如果i为奇数,结束本次循环,进行下一次循环 sum=sum+i; System.out.print(1-10之间的偶数和是:+sum);小结小结3求110之间的所有偶数和 完整代码演示运行效果对比对比break和和continue对比方法:通过对比方法:通过Eclipse单步运行,观察单步运行,观察程序执行顺序变量值的变化观察案例观察案例案例1:110之间的整数相加,得到累加值大于20的当前数 案例2:求110之间的所有偶数和小结小结4说一说在循环中使用说一说在循环中使用continue和和break的区别?的区别? int sum=0;for( int i=0;i5

57、;i+) if( i = 3) break; sum=sum+i;System.out.println(sum = +sum);sum = 3sum = 7输出值是多少?如果将输出值是多少?如果将break替换成替换成continue,输出值又为多少?输出值又为多少?替换后循环结构总结循环结构总结2-1到目前为止所学的循环结构有哪些?到目前为止所学的循环结构有哪些? 需要多次重复执行一个或多个任务的问题考虑使用循环来解决循环总结循环总结2-2int i=0;int sum=0;while( i10 ) sum=sum+i; i+;int i=0;int sum=0;do sum=sum+i;

58、i+;while(i10);int sum=0;for(int i=0;i10;i+)sum=sum+i;123412341234while和for相同,先进行判断,后执行循环体内容do-while是先执行,后判断,至少执行一次指出各种循环结构的执行顺序 控制流语句小结控制流语句小结顺序结构:语句顺序执行顺序结构:语句顺序执行 分支结构:语句在满足条件下执行分支结构:语句在满足条件下执行if, if-else, if-else if-else, switch 循环结构:语句在满足条件下循环执行多次循环结构:语句在满足条件下循环执行多次while, do-while, for跳转语句跳转语句break, continue for循环结构如何执行? 在循环中使用什么方式跳出或终止循环? break与continue之间的差别是什么?总结总结

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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