第4章Java流程控制语句_第1页
第4章Java流程控制语句_第2页
第4章Java流程控制语句_第3页
第4章Java流程控制语句_第4页
第4章Java流程控制语句_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 程序三种结构 顺序结构 选择结构 循环结构 4.1选择结构 If/else switch 4.2循环结构 while do while for 4.3程序流程跳转语句 break、continue 本章内容 在程序设计时,经常需要使用选择结构在程序中完 成逻辑判断和选择功能,这就需要使用到选择语句。 Java中的选择语句包括 if语句 if-else语句 switch语句 选择语句用来控制选择结构,对选择条件进行判断, 并根据判断结果选择要执行的程序语句,改变程序 执行流程。 选择结构 语法格式: if(条件表达式) 语句 或者 if(条件表达式) 一条或多条语句 if选择语句 if选择语句

2、 语法格式: if(条件表达式) 语句1 else 语句2 或者 if(条件表达式) 语句块1 else 语句块2 if-else双分支选择语句 if-else双分支选择语句 if(条件表达式1) /如果条件表达式1成立(结果为true) 语句块1 /就执行语句块1中的代码 else if(条件表达式2) /否则,如果条件表达式2成立 语句块2 /就执行语句块2中的代码 /对其他条件进行判断 else if(条件表达式n-1) /如果条件表达式n-1成立 语句块n-1 /就执行语句块n-1中的代码 else/如果以上所有的条件都不成立 语句块n /就执行语句块n if-else-if多分支选择

3、结构 if-else-if多分支选择结构 根据一个学生的成绩判断该学生所处的档次,如优、 良、中、差 if-else-if多分支选择结构 练习1 如果年龄大于7岁,输出”可以搬动桌子” 否则如果是男生并且大于5岁,输出可以搬动桌子 练习2 语法格式: switch(表达式) case 常量表达式1:语句组1; break; case 常量表达式1:语句组1; break; case 常量表达式1:语句组1; break; default:语句块n switch多分支开关语句 switch多分支开关语句 在程序中当要重复性的做某项工作时可以使 用循环语句。 Java中的循环语句包括: while

4、语句 do-while语句 for语句 循环语句 生活中的循环 循环结构的特点 打印打印50份试卷份试卷10000米赛跑米赛跑旋转的车轮旋转的车轮 循环结构循环结构 循环条件循环条件 循环操作循环操作 锲而不舍地学习锲而不舍地学习 什么是循环什么是循环 语法 while(布尔表达式) 语句或语句块 while循环语句 循环操作循环操作 循环条件循环条件 真真 假假 while循环语句 为了帮助张浩尽快提高成绩,老师给他安排了每天的学习任务,为了帮助张浩尽快提高成绩,老师给他安排了每天的学习任务, 其中上午阅读教材,学习理论部分,下午上机编程,掌握代码部分。其中上午阅读教材,学习理论部分,下午上

5、机编程,掌握代码部分。 老师每天检查学习成果老师每天检查学习成果。如果不合格,则继续进行如果不合格,则继续进行 循环条件循环条件 循环操作循环操作 while循环循环 使用while循环的步骤 1、分析循环条件和循环操作 2、套用while语法写出代码 3、检查循环是否能够退出 如何用程序描述下面这个故事呢? System.out.print(合格了吗合格了吗?(y/n):); String answer = input.next(); while(!y.equals(answer) System.out.println(上午阅读教材!上午阅读教材!); System.out.println(

6、下午上机编程!下午上机编程!n); System.out.print(合格了吗合格了吗?(y/n):); answer = input.next(); System.out.println(完成学习任务!完成学习任务!); 循环条件循环条件 循环操作循环操作 比较两个比较两个String类型类型 的值是否相等的值是否相等 while循环循环 演示示例:使用演示示例:使用while循环结构循环结构 避免死循环避免死循环 练习练习 练习1 2006年培养学员8万人,每年增长25%,请问按此增 长速度,到哪一年培训学员人数将达到20万人? 提示:提示: 1、循环条件和循环操作分别是什么?、循环条件和

7、循环操作分别是什么? 2、int year = 2006; double students = 80000; while 3、2007年培训学员数量年培训学员数量 = 80000 * (1 + 0.25 ) 练习2:计算计算100以内偶数之和以内偶数之和 训练要点: while循环结构 需求说明: 编程实现:计算100以内(包括100)的偶数之和 观察每一次循环中变量值的变化 实现思路: 1、声明整型变量num和sum 2、循环条件:num=100 3、循环操作:累加求和 练习练习3 查询商品价格查询商品价格 训练要点: while循环结构 程序调试 需求说明: 循环输入商品编号,显示对应的商

8、品价格 输入“n”结束循环 实现思路: 1、声明变量 2、循环体 3、循环条件 难点指导: 循环体内使用switch 练习4 、升级购物结算升级购物结算 需求说明: 循环输入商品编号和购买 数量 当输入n时结账 结账时计算应付金额并找 零 语法 do 语句或语句块 while(布尔表达式); do-while循环语句 特点:先执行,再判断 分号不可少分号不可少 先执行一遍循环操作先执行一遍循环操作 符合条件,循环继续执行;否符合条件,循环继续执行;否 则,循环退出则,循环退出 经过几天的学习,老师给张浩一道测试题,经过几天的学习,老师给张浩一道测试题, 让他先上机编写程序完成,让他先上机编写程

9、序完成, 然后老师检查是否合格。如果不合格,则继续编写。然后老师检查是否合格。如果不合格,则继续编写。 do 循环操作循环操作 while ( 循环条件循环条件 ); while (循环条件循环条件) 循环操作循环操作 while循环先判断,再执行循环先判断,再执行 不适合描述此故事不适合描述此故事 为什么需要为什么需要do-while循环循环 如何用程序讲述下面的故事? do System.out.println(上机编写程序!上机编写程序!); System.out.print(合格了吗合格了吗?(y/n); answer = input.next(); System.out.printl

10、n(“n); while(!y.equals(answer); System.out.println(恭喜你通过了测试!恭喜你通过了测试!); 循环条件循环条件 先执行一遍循环操作先执行一遍循环操作 怎样使用怎样使用do-while循环循环 演示:使用演示:使用do-while循环结构循环结构 do-while循环语句 while循环和do-while循环的区别 语法不同 执行次序不同 初始情况不满足循环条件时 while循环一次都不会执行 do-while循环不管任何情况都至少执行一次 do 循环操作循环操作 while( 循环条件循环条件 ) ; while ( 循环条件循环条件 ) 循环

11、操作循环操作 先判断,再执行先判断,再执行 先执行,再判断先执行,再判断 比较比较while和和do-while 练习1: 使用do-while实现:输出摄氏温度与华氏温度的对照 表,要求它从摄氏温度0度到250度,每隔20度为一项, 对照表中的条目不超过10条。 转换关系:华氏温度 = 摄氏温度 * 9 / 5.0 + 32 提示:提示: 1、循环操作:计算摄氏温度,并输出对照条目、循环操作:计算摄氏温度,并输出对照条目 2、循环条件:条目、循环条件:条目=10 while(i100) System.out.println(好好学习!好好学习!); i+; for(int i=0;i100;

12、i+) System.out.println(好好学习!好好学习!); for比比while更简洁更简洁 回顾问题:输出100次“好好学习!” 使用使用while循环结构循环结构 使用使用for循环结构循环结构 特点:循环次数固定特点:循环次数固定 什么是什么是for循环循环 for( ; ; ) ; 条件为条件为true 循环体被执行循环体被执行 for ( int i = 0 ; i 100 ; i+ ) System.out.println(好好学习!好好学习!); 代码规范:代码规范:格式对齐、代码的缩进格式对齐、代码的缩进 表达式表达式1 表达式表达式2 表达式表达式3 循环操作循环

13、操作 参数初始化参数初始化 条件判断条件判断更新循环变量更新循环变量 124 3 for循环的语法和执行顺序 循环条件循环条件:循环的次数不:循环的次数不 足足5,继续循环,继续循环 循环操作循环操作:录入成绩,计:录入成绩,计 算成绩之和算成绩之和 使用for循环结构的步骤 1、分析循环条件和循环操作 2、套用for语法写出代码 3、检查循环是否能够退出 结合问题结合问题1 如何使用如何使用for循环循环1 1、循环输入某同学S1结业考试的5门课成绩,并计 算平均分 /省略声明变量省略声明变量 for(int i = 0; i 5; i+) /循环循环5次录入次录入5门课成绩门课成绩 Sys

14、tem.out.print(请输入请输入5门功课中第门功课中第 + (i+1) + 门课的成绩:门课的成绩: ); score = input.nextInt(); /录入成绩录入成绩 sum = sum + score; /计算成绩和计算成绩和 avg = sum / 5; /计算平均分计算平均分 System.out.println(name + 的平均分是:的平均分是: + avg); 初始值:初始值:i= 0 循环条件:循环条件:i5 循环变量改变:循环变量改变:i+ 循环操作执行循环操作执行5次次 如何使用如何使用for循环循环2 演示:使用演示:使用for循环结构循环结构 如何使用

15、如何使用for循环循环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+j 4、循环变量的改变:、循环变量的改变:i+,j- 表达式表达式3可以是用可以是用“,”隔开的多隔开的多 个表达式,运算顺序从左到右个表达式,运算顺序从左到右 表达式表达式1中可以声明多个同一中可以声明多个同一 类型的值并赋值,用类型的

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

17、造成死循环 for循环常见问题循环常见问题2 for(int i=0;i10;) System.out.println(这是这是 +i); i+; 省略表达式省略表达式3,在循环体内应设法改,在循环体内应设法改 变循环变量的值以结束循环变循环变量的值以结束循环 编译通过,但是循环变量的编译通过,但是循环变量的 值无变化,造成死循环值无变化,造成死循环 for循环常见问题循环常见问题3 练习: 求1100之间不能被3整除的数之和 提示:提示: 1、循环条件:、循环条件:i100 2、循环操作:、循环操作:if (i % 3 != 0) sum = sum + i; 练习:计算顾客比例练习:计算顾

18、客比例 训练要点: for循环结构 需求说明: 商场对顾客的年龄层次进行调查 计算各层次的顾客比例 实现思路: 1、定义计数器变量 2、利用循环录入顾客年龄 难点指导: 循环条件和循环体 break:改变程序控制流 用于do-while、while、for中时,可跳出循环而执行循环后面的语 句 while() break; 跳出整个循环跳出整个循环 break通常在循环中与通常在循环中与 条件语句一起使用条件语句一起使用 什么是什么是break语句语句 break语句 如何使用如何使用break语句语句1 3、循环录入某学生5门课的成绩并计算平均分,如 果某分数录入为负,停止录入并提示录入错误

19、 循环录入成绩,判断录入正确性:录入错误,使用 break语句立刻跳出循环;否则,累加求和 for(int i = 0; i 5; i+) /循环循环5次录入次录入5门课成绩门课成绩 System.out.print(请输入第请输入第 + (i+1) + 门课的成绩:门课的成绩: ); score = input.nextInt(); if(score 0) /输入负数输入负数 isNegative = true; break; sum = sum + score; /累加求和累加求和 循环外的语句循环外的语句 对录入的分数进行判断,如对录入的分数进行判断,如 果小于果小于0,标记出错状态,并

20、,标记出错状态,并 立即跳出整个立即跳出整个for循环循环 如何使用如何使用break语句语句2-2 演示:使用演示:使用break语句语句 提示提示 1、使用循环进行累加,从、使用循环进行累加,从1到到10 2、判断累加值是否大于、判断累加值是否大于20 3、如果大于、如果大于20,则跳出循环,并打印当前值,则跳出循环,并打印当前值 练习:110之间的整数相加,得到累加值大于20的 当前数 continue语句 1、通过循环,获得分数大、通过循环,获得分数大 于等于于等于80分的学生人数分的学生人数num 2、判断:如果成绩、判断:如果成绩80,不,不 执行执行num+,直接进入下一,直接进

21、入下一 次循环次循环 为什么需要为什么需要continue语句语句 循环录入Java课的学生成绩,统计分数大于等于80 分的学生比例 for (int i = 0; i total; i+) System.out.print(请输入第请输入第 + (i + 1) + 位学生的成绩:位学生的成绩: ); score = input.nextInt(); if (score 80) continue; num+; System.out.println(80分以上的学生人数是:分以上的学生人数是: + num); double rate = (double) num / total * 100; S

22、ystem.out.println(80分以上的学生所占的比例为:分以上的学生所占的比例为: + rate + %); 对录入的分数进行判断,如对录入的分数进行判断,如 果小于果小于80,跳出本次循环,跳出本次循环, 执行下一次循环执行下一次循环 如何使用如何使用continue语句语句 演示示例演示示例4:使用:使用continue语句语句 使用场合 break可用于switch结构和循环结构中 continue只能用于循环结构中 作用(循环结构中) break语句终止某个循环,程序跳转到循环块外的下一条语句。 continue跳出本次循环,进入下一次循环 对比对比break和和continue 练习:循环录入会员信息练习:循环录入会员信息 训练要点: for循环结构 continue语句 需求说明: 循环录入3位会员的信息 会员号合法,显示录入信息; 否则显示录入失败 实现思路: 1、循环录入3位会员信息。 2、会员号无效,利用continue 实现程序跳转 难点指导: continue的使用 练习练习验证用户登录信息验证用户登录信息 需求说明: 用户登录验证。验证次数最多3次 完成时间:完成时间:20分钟分钟 到目前为止所学的循环

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论