第3章流程控制1授课_第1页
第3章流程控制1授课_第2页
第3章流程控制1授课_第3页
第3章流程控制1授课_第4页
第3章流程控制1授课_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

第三章流程控制第一单元第1页/共60页本章相关学习资源《流程控制》专题《使用Java实现面向对象编程》第3章《流程控制》学习平台“Java基础语法”课程学生用书第2页/共60页预习检查简述Java语言的几种流程控制结构。举例说明,循环结构用于解决哪些问题?循环结构中使用了哪些关键字?分别描述几种跳转语句的使用范围。提问第3页/共60页本章任务任务1:判断成绩取值范围任务2:计算若干名学生每人5门课程的平均分第4页/共60页第4页/共60页掌握各种选择结构的语法及用法掌握各种循环结构的语法及用法掌握多分支if语句的语法及用法掌握多重循环结构的语法及用法本章目标点重点难点重第5页/共60页点难熟练使用程序调试技巧理解break和continue的区别理解while和do-while的区别if(条件){//代码块}if选择结构是根据条件判断结果选择不同的处理基本的if选择结构

串讲:基本的if选择结构语法示例if(王梁的Java考试成绩>90){

//获得一个iPhone5作为奖励;}只有一条语句时,建议不省略{}第6页/共60页importjava.util.Scanner;publicclassGetPrize{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.print("输入王梁的Java成绩:");//提示输入成绩

intscore=input.nextInt(); //从控制台获取王梁的成绩

if(score>90){ //判断是否大于90分

System.out.println("老师说:不错,奖励一个iPhone5!"); } }}串讲:基本的if选择结构如果王梁的Java考试成绩大于90分,王梁就能获得一个iPhone5作为奖励示例第7页/共60页

分析:怎样把多个条件连接起来?

使用逻辑运算符串讲:使用复杂条件的if选择结构2-1王梁Java成绩大于90分,并且音乐成绩大于80分时,或者Java成绩等于100分,音乐成绩大于70分时,老师奖励他,该怎么做呢?问题运算符表达式说明&&条件1&&条件2仅仅两个条件同时为真,结果为真||条件1||条件2只要两个条件有一个为真,结果为真!!条件条件为真时,结果为假条件为假时,结果为真第8页/共60页 intscore1=100;//王梁的Java成绩

intscore2=72;//王梁的音乐成绩

if((score1>90&&score2>80)

||

(score1==100&&score2>70)){ System.out.println("老师说:不错,奖励一个iPhone5!"); }串讲:使用复杂条件的if选择结构2-2示例演示示例:复杂条件下的if选择结构第9页/共60页提问刚才问题的条件应该怎么写呢?运算符的优先级最高的优先级:()最低的优先级:=优先级顺序:!>算术运算符>比较运算符>&&>||if-else选择结构串讲:使用if-else选择结构2-1语法示例if(条件){//代码块1}else{//代码块2}if(王梁Java成绩>98){

//奖励一个iPhone5;}else{//惩罚当众唱歌}第10页/共60页如果王梁Java考试成绩大于98分,老师就奖励他一个iPhone5,否则老师就罚他当众唱歌串讲:使用if-else选择结构2-2示例publicstaticvoidmain(String[]args){ intscore=91;//王梁的Java成绩

if(score>98

){ System.out.println("老师说:不错,奖励一个iPhone5!");

}else{ System.out.println("老师说:惩罚当众唱歌!");

}}演示示例:使用if-else结构第11页/共60页上机练习需求说明如果成绩大于等于60分,输出“成绩及格。”否则输出“成绩不及格。”完成时间:5分钟共性问题集中讲解练习第12页/共60页讲解:多分支if语句语法语法

if

(条件1){//代码块1

}

elseif

(条件2)

{//代码块2

}else

{//代码块3

}可以有多个可以省略第13页/共60页提问如果要实现以下功能,该怎么做呢?对学员的结业考试成绩进行评测成绩>=90 输出:优秀成绩>=80 输出:良好成绩>=60 输出:中等成绩<60 输出:差

int

score=70;//考试成绩

if(score>=90){

System.out.println("优秀");}

elseif(score>=80){

System.out.println("良好");}

elseif(score>=60){

System.out.println("中等");}

else{

System.out.println("差");}大于等于90分大于等于60分,小于80分小于60分大于等于80分,小于90分讲解:多分支if语句示例2-1演示示例:使用多分支if语句1第14页/共60页关键代码

intmoney=52;//我的存款,单位:万元

if(money>=500){

System.out.println("太好了,我可以买凯迪拉克"); }else

if(money>=100){

System.out.println("不错,我可以买辆帕萨特"); }else

if(money>=50){

System.out.println("我可以买辆依兰特"); }else

if(money>=10){

System.out.println("至少我可以买个奥托"); }else{

System.out.println("看来,我只能买个捷安特了"); }

讲解:多分支if语句示例2-2各个条件的顺序可以任意排列吗?演示示例:使用多分支if语句2第15页/共60页提问我想买车,买什么车决定于我在银行有多少存款:如果我的存款超过500万,我就买凯迪拉克否则,如果我的存款超过100万,我就买帕萨特否则,如果我的存款超过50万,我就买依兰特否则,如果我的存款超过10万,我就买奥托否则,我买捷安特。以上需求,如何用程序实现呢?使用多分支if语句处理问题时需要注意顺序上机练习练习需求说明如果成绩大于等于90分且小于等于100分,输出“A级”;如果大于等于80分,输出“B级”;如果大于等于70分,输出“C级”;如果大于等于60分,输出“D级”;低于60分输出“E级”完成时间:10分钟共性问题集中讲解第16页/共60页

if(条件1){if(条件2){

代码块1}else{

代码块2}}else{

代码块3}内层选择结构讲解:嵌套if选择结构语法第17页/共60页嵌套if控制语句可以通过外层语句和内层语句的协作,增强程序的灵活性语法提问如果要实现以下功能,该怎么做呢?学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组if

(score<=10)

{ if(gender.equals("男"))

{

System.out.println("进入男子组决赛!"); }

elseif(gender.equals("女"))

{

System.out.println("进入女子组决赛!"); }}

else

{

System.out.println("淘汰!");}

讲解:嵌套if控制语句示例外层选择结构内层选择结构演示示例:使用嵌套if控制语句第18页/共60页关键代码上机练习练习需求说明如果今天是周六或周日,打算外出。如果气温在30度以上,去游泳;否则就去爬山如果今天不是周六或周日,就要工作。如果天气好,去客户单位谈业务;否则,在公司上网查资料完成时间:15分钟共性问题集中讲解第19页/共60页switch(表达式){

case

常量1:

语句;

break;

case

常量2:

语句;

break; …

default:

语句;}串讲:switch选择结构语法表达式可以是int、short、byte、char和枚举类型如果等于常量1

如果等于常量2

如果没有找到匹配的值

语法第20页/共60页intmingCi=1;switch(mingCi){ case

1:System.out.println("参加麻省理工大学组织的1个月夏令营");

break;

case

2:System.out.println("奖励惠普笔记本电脑一部");

break;

case

3:System.out.println("奖励移动硬盘一个");

break;

default:System.out.println("没有任何奖励

");}第一名的情况下第二名的情况下第三名的情况下其他情况下串讲:switch语句示例使用switch语句解决问题示例演示示例:使用switch语句第21页/共60页intmingCi=1;switch(mingCi){ case

1:System.out.println("参加麻省理工大学组织的1个月夏令营");

case2:System.out.println("奖励惠普笔记本电脑一部");

case3:System.out.println("奖励移动硬盘一个");

default:System.out.println("没有任何奖励

");}输出结果是什么?串讲:常见错误4-1如果需要每个case执行完后跳出,在每个case后不要忘记写break常见问题第22页/共60页int

mingCi=1;switch(mingCi){

case1:System.out.println("参加麻省理工大学组织的1个月夏令营");

case2:System.out.println("奖励惠普笔记本电脑一部");

case2:System.out.println("奖励移动硬盘一个");

default:System.out.println("没有任何奖励");}常量值重复串讲:常见错误4-2常见问题第23页/共60页int

mingCi=6;switch(mingCi){

default:System.out.println("没有任何奖励");

case1:System.out.println("参加麻省理工大学组织的1个月夏令营");

case2:System.out.println("奖励惠普笔记本电脑一部");

case3:System.out.println("奖励移动硬盘一个");}串讲:常见错误4-3输出结果是什么?default块顺序可以变动,但要注意其执行顺序。通常,default块放在末尾,也可以省略常见问题第24页/共60页Stringday="星期一";switch(day){

case"星期一":System.out.println("星期一:青菜");

break;

case"星期二":System.out.println("星期二:鱼");

break;……

default:……}switch后面小括号中表达式的值不能是String类型代码错误串讲:常见错误4-4常见问题第25页/共60页相同点不同点switch选择结构只能处理等值条件判断的情况多重if选择结构适合某个变量处于某个连续区间时的情况都是用来处理多分支条件的结构串讲:比较switch和多重if选择结构第26页/共60页上机练习练习需求说明使用switch语句实现成绩评测A级:大于等于90分且小于等于100分;B级:大于等于80分;C级:大于等于70分;D级:大于等于60分;E级:低于60分完成时间:10分钟共性问题集中讲解第27页/共60页System.out.println("第1遍写:好好学习,天天向上!");System.out.println("第2遍写:好好学习,天天向上!");System.out.println("第3遍写:好好学习,天天向上!");System.out.println("第4遍写:好好学习,天天向上!");//……System.out.println("第9999遍写:好好学习,天天向上!");System.out.println("第10000遍写:好好学习,天天向上!");串讲:循环结构输出10000遍“好好学习,天天向上”该怎么做呢?使用while循环示例int

i=1;while(i<=10000){ System.out.println("第"+i+"遍写:好好学习,天天向上!");

i++;}演示示例:使用循环结构解决问题第28页/共60页while(循环条件

){

循环操作}int

i=1;while(i<=10000

){ System.out.println("好好学习!"); i++;}特点:先判断,再执行符合条件,循环继续执行;否则,循环退出循环中被重复执行的操作循环操作循环条件真假串讲:while循环语法语法第29页/共60页示例1.循环初始化2.循环条件3.循环操作4.循环变量的改变 System.out.print("合格了吗?(y/n):"); Stringanswer=input.next();

while(!"y".equals(answer)){

System.out.println("上午阅读教材!"); System.out.println("下午上机编程!\n"); System.out.print("合格了吗?(y/n):");

answer=input.next();

} System.out.println("完成学习任务!");循环条件循环操作比较两个String类型的值是否相等串讲:怎样使用while循环避免死循环演示示例:使用while循环结构示例第30页/共60页上机练习练习需求说明计算1至100相加的和使用while实现提示定义总和变量定义循环变量依次取1到100之间的每个数完成时间:5分钟共性问题集中讲解第31页/共60页while(循环条件){

循环操作}经过几天的学习,老师给王梁一道测试题,让他先上机编写程序,然后老师检查是否合格。如果不合格,则继续编写。while循环先判断,再执行不适合描述此故事串讲:do-while循环如何用程序讲述下面的故事?问题do{

循环操作}while(循环条件);第32页/共60页?do{

循环操作}while(循环条件

);先执行一遍循环操作符合条件,循环继续执行;否则,循环退出循环操作循环条件真假串讲:do-while循环语法特点:先执行,再判断分号不可少语法第33页/共60页

do{ System.out.println("上机编写程序!"); System.out.print("合格了吗?(y/n)"); answer=input.next(); }while(!"y".equals(answer));

System.out.println("恭喜你通过了测试!");循环条件先执行一遍循环操作串讲:怎样使用do-while循环演示示例:使用do-while循环结构示例第34页/共60页do{

循环操作}while(循环条件);while

(循环条件){

循环操作}while循环和do-while循环的区别语法不同执行顺序不同

初始情况不满足循环条件时while循环一次都不会执行do-while循环不管任何情况都至少执行一次先判断,再执行先执行,再判断串讲:比较while和do-while第35页/共60页上机练习练习需求说明计算1至100相加的和使用do-while实现提示代码和使用while语句实现基本相同先执行循环体再判断循环条件完成时间:5分钟共性问题集中讲解第36页/共60页intsum=0;for(inti=1;i<=100;i++){sum+=i;}System.out.println("sum="+sum);串讲:for循环2-1第37页/共60页提问上一页的练习可以用for循环实现吗?提问for循环这样写有错吗?for(;;){}关键代码for(inti=0,j=val;i<=val;i++,j--){System.out.println(i+"+"+j+"="+(i+j));}串讲:for循环2-2输出加法表1.循环初始化:i=0;j=输入值2.循环条件:i<=输入值3.循环操作:计算i+j4.循环变量的改变:i++,j--表达式3可以是用“,”隔开的多个表达式,运算顺序从左到右表达式1中可以声明多个同一类型的值并赋值,用“,”隔开问题分析演示示例:使用for循环结构输出加法表第38页/共60页上机练习练习需求说明输入一名学生姓名和他的5门课的成绩,求平均分并显示提示使用for循环和Scanner类的nextInt()方法,获得这名学生5门课的成绩完成时间:10分钟共性问题集中讲解第39页/共60页小结区别1:语法区别2:执行顺序while

循环:先判断,再执行do-while循环:先执行,再判断for循环:先判断,再执行区别3:适用情况循环次数确定的情况,通常选用for循环循环次数不确定的情况,通常选用while和do-while循环小结第40页/共60页while(循环条件1){//循环操作1

for(循环条件2){ //循环操作2 }}while(循环条件1){//循环操作1

while(循环条件2){//循环操作2}}讲解:多重循环语法一个循环体内又包含另一个完整的循环结构外层循环内层循环外层循环变量变化一次,内层循环变量要变化一遍各种循环可以相互嵌套语法do{//循环操作1

do{//循环操作2}while(循环条件2);}while(循环条件1);for(循环条件1){//循环操作1

for(循环条件2){//循环操作2}}第41页/共60页上机练习需求说明计算若干个学生5门课的平均分提示外循环每循环一次处理一个学生内循环则处理一个学生的5门课成绩练习完成时间:10分钟共性问题集中讲解第42页/共60页inti=2;switch(i){case1:System.out.println("星期一");break;case2:System.out.println("星期二");break;}//其他语句遇到break,立即跳出switch语句回顾break用于switch语句描述4000米长跑比赛for(inti=0;i<10;i++){//跑4000米;}

if(不能坚持)

{break;//退出比赛

}第8圈,快累死了…我要退出…串讲:break语句示例第43页/共60页改变程序控制流用于do-while、while、for循环中,可跳出循环而执行循环后面的语句while(…){………………break;………………}跳出当前循环break通常在循环中与条件语句一起使用串讲:break语句语法语法第44页/共60页上机练习练习需求说明打印1到10个数,遇到4的倍数程序自动退出提示如果i%4==0,则执行break命令完成时间:5分钟共性问题集中讲解第45页/共60页for(inti=0;i<10;i++){

跑400米;

if(!口渴){

continue;//不喝水,继续跑

}

接过水壶,喝水;}只能在循环中使用作用:跳过循环体中剩余的语句而执行下一次循环while(…){………………

continue;…………}继续下一次循环通常与条件语句一起使用,加速循环示例串讲:continue语句语法第46页/共60页

for(inti=0;i<total;i++){ System.out.print("请输入第"+(i+1)+"位学生的成绩:"); score=input.nextInt(); if(score<80){

continue; } num++;}//省略计算和输出语句对录入的分数进行判断,如果小于80,跳出本次循环,执行下一次循环串讲:continue语句示例示例演示示例:使用continue语句第47页/共60页使用场合break可用于switch结构和循环结构中continue只能用于循环结构中作用(循环结构中)break语句终止某个循环,程序跳转到循环块外的下一条语句continue跳出

温馨提示

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

评论

0/150

提交评论