版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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多分支选择结构 if-else
3、-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语句 do-while语句 for语句循
4、环语句 生活中的循环 循环结构的特点 打印打印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(下午上机编程!下午上机编程!n);System.out.print(合格
6、了吗合格了吗?(y/n):);answer = input.next();System.out.println(完成学习任务!完成学习任务!);循环条件循环条件循环操作循环操作比较两个比较两个String类型类型的值是否相等的值是否相等while循环循环演示示例:使用演示示例:使用while循环结构循环结构避免死循环避免死循环练习练习 练习1 2006年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?提示:提示:1、循环条件和循环操作分别是什么?、循环条件和循环操作分别是什么?2、int year = 2006; double students = 800
7、00; while 3、2007年培训学员数量年培训学员数量 = 80000 * (1 + 0.25 ) 练习2:计算计算100以内偶数之和以内偶数之和 训练要点: while循环结构 需求说明: 编程实现:计算100以内(包括100)的偶数之和 观察每一次循环中变量值的变化 实现思路: 1、声明整型变量num和sum 2、循环条件:num=100 3、循环操作:累加求和练习练习3 查询商品价格查询商品价格 训练要点: while循环结构 程序调试 需求说明: 循环输入商品编号,显示对应的商品价格 输入“n”结束循环 实现思路: 1、声明变量 2、循环体 3、循环条件 难点指导: 循环体内使用
8、switch 练习4 、升级购物结算升级购物结算 需求说明: 循环输入商品编号和购买数量 当输入n时结账 结账时计算应付金额并找零 语法 do 语句或语句块 while(布尔表达式);do-while循环语句 特点:先执行,再判断分号不可少分号不可少先执行一遍循环操作先执行一遍循环操作符合条件,循环继续执行;否符合条件,循环继续执行;否则,循环退出则,循环退出经过几天的学习,老师给张浩一道测试题,经过几天的学习,老师给张浩一道测试题,让他先上机编写程序完成,让他先上机编写程序完成,然后老师检查是否合格。如果不合格,则继续编写。然后老师检查是否合格。如果不合格,则继续编写。do 循环操作循环操作
9、while ( 循环条件循环条件 );while (循环条件循环条件) 循环操作循环操作while循环先判断,再执行循环先判断,再执行不适合描述此故事不适合描述此故事 为什么需要为什么需要do-while循环循环 如何用程序讲述下面的故事?doSystem.out.println(上机编写程序!上机编写程序!);System.out.print(合格了吗合格了吗?(y/n);answer = input.next();System.out.println(“n);while(!y.equals(answer); System.out.println(恭喜你通过了测试!恭喜你通过了测试!);循环
10、条件循环条件先执行一遍循环操作先执行一遍循环操作怎样使用怎样使用do-while循环循环演示:使用演示:使用do-while循环结构循环结构do-while循环语句 while循环和do-while循环的区别 语法不同 执行次序不同 初始情况不满足循环条件时 while循环一次都不会执行 do-while循环不管任何情况都至少执行一次do 循环操作循环操作 while( 循环条件循环条件 ) ;while ( 循环条件循环条件 ) 循环操作循环操作先判断,再执行先判断,再执行先执行,再判断先执行,再判断比较比较while和和do-while 练习1: 使用do-while实现:输出摄氏温度与华
11、氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。 转换关系:华氏温度 = 摄氏温度 * 9 / 5.0 + 32提示:提示:1、循环操作:计算摄氏温度,并输出对照条目、循环操作:计算摄氏温度,并输出对照条目2、循环条件:条目、循环条件:条目=10 & 摄氏温度摄氏温度 = 250练习练习2:升级菜单切换升级菜单切换 需求说明: 如果用户输入错误,可以重复输入直到输入正确,执行相应的操作后退出循环 语法 for(初始化表达式;条件表达式;迭代语句) 循环体语句 for循环语句为什么为什么使用使用for循环循环 int i=0;while(i1
12、00)System.out.println(好好学习!好好学习!);i+; for(int i=0;i100;i+) System.out.println(好好学习!好好学习!); for比比while更简洁更简洁 回顾问题:输出100次“好好学习!”使用使用while循环结构循环结构使用使用for循环结构循环结构 特点:循环次数固定特点:循环次数固定什么是什么是for循环循环for( ; ; ) ; 条件为条件为true 循环体被执行循环体被执行 for ( int i = 0 ; i 100 ; i+ ) System.out.println(好好学习!好好学习!); 代码规范:代码规范:
13、格式对齐、代码的缩进格式对齐、代码的缩进 表达式表达式1 表达式表达式2 表达式表达式3 循环操作循环操作 参数初始化参数初始化条件判断条件判断更新循环变量更新循环变量1243 for循环的语法和执行顺序循环条件循环条件:循环的次数不:循环的次数不足足5,继续循环,继续循环循环操作循环操作:录入成绩,计:录入成绩,计算成绩之和算成绩之和 使用for循环结构的步骤1、分析循环条件和循环操作2、套用for语法写出代码3、检查循环是否能够退出结合问题结合问题1如何使用如何使用for循环循环1 1、循环输入某同学S1结业考试的5门课成绩,并计算平均分/省略声明变量省略声明变量 for(int i =
14、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 + 的平均分是:的平均分是: + avg);初始值:初始值:i= 0循环条件:循环条件:i5循环变量改变:循环变量改变:i+循环操作执行循环操作执行5次次如何使用如何使用for循环
15、循环2演示:使用演示:使用for循环结构循环结构如何使用如何使用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+j4、循环变量的改变:、循环变量的改变:i+,j-表达式表达式3可以是用可以是用“,”隔开的多隔开的多个表达式,运算顺序从左到右个表达式,运算顺序从左到右表达式表达式1中可以声明多个同一中
16、可以声明多个同一类型的值并赋值,用类型的值并赋值,用“,”隔开隔开演示:使用演示:使用for循环结构循环结构for(;i10;i+) System.out.println(这是这是 +i);int i=0;编译错误:编译错误:变量变量 i 没有初始化没有初始化for( ; ; ) ; 不能省略不能省略 可省略可省略表达式表达式1省略,循环变量省略,循环变量的初始值在的初始值在for语句之前语句之前由赋值语句取得由赋值语句取得for循环常见问题循环常见问题1for(int i=0;i+) System.out.println(这是这是 +i);编译正确,但是缺少编译正确,但是缺少循环条件,造成死
17、循环循环条件,造成死循环for循环常见问题循环常见问题2for(int i=0;i10;) System.out.println(这是这是 +i); i+;省略表达式省略表达式3,在循环体内应设法改,在循环体内应设法改变循环变量的值以结束循环变循环变量的值以结束循环编译通过,但是循环变量的编译通过,但是循环变量的值无变化,造成死循环值无变化,造成死循环for循环常见问题循环常见问题3 练习: 求1100之间不能被3整除的数之和提示:提示:1、循环条件:、循环条件:i1002、循环操作:、循环操作: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到到102、判断累加值是否大于、判断累加值是否大于203、如果大于、如果大于20,则跳出循环,并打印当前值,则跳出循环,并打印当前值 练习:110之间的整数相加,得到累加值大于20的当前数 continue语句1、通过循环,获得分数大、通过循环,获得分数大于等于于等于80分的学生人数分的学生人数num2、判断:如果成绩、判断:如果成绩80,不,不执行执行num+,直接进入下一,直接进入下一次循环次循环为什么需要为什么需要continue语
21、句语句 循环录入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;System.out.println(80分以上的学生所占的比例为:分以上的
22、学生所占的比例为: + 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 高中信息技术数据与计算之算法的偏微分方程数值解法课件
- 2025 高中信息技术数据与计算之数据安全的量子加密移动支付应用课件
- 2026年春季火灾隐患排查整治工作方案与实施指南
- 2026年水电联产集成系统经济效益随产水量变化趋势分析
- 畜禽良种繁育技术与实践应用
- 2026年海上大规模压裂作业每分钟泵注12立方米砂浆实现路径
- 2026年商贸流通数据融合与智能供应链协同系统
- 2026年宁德时代九座零碳工厂四位一体解决方案
- 2026年度国家自然科学基金企业创新发展联合基金项目指南(第二批)全文
- 2026年合成生物技术助推医药产业创新发展路径
- 精神病院护士责任制度
- 2026四川成都成华区智慧蓉城运行中心招聘编外人员4人笔试备考试题及答案解析
- 2026年小升初测试题数学及答案
- GB 6441-2025生产安全事故分类与编码
- 七年级下册数学课件:平行线中的拐点问题
- GB/T 5754.1-2015钢丝绳芯输送带纵向拉伸试验第1部分:伸长率的测定
- GB/T 3690-2017织物芯输送带全厚度拉伸强度、拉断伸长率和参考力伸长率试验方法
- GB/T 11334-2005产品几何量技术规范(GPS)圆锥公差
- 《教师专业发展》课件
- 现代汉语语法(2)短语课件
- LabVIEW基础教程课件
评论
0/150
提交评论