




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计第四章流程控制2学习目标理解程序控制的概念运用条件语句,使用if,switch来控制程序的不同执行路径掌握for、while和do句型结构控制程序的循环执行理解并能应用break和continue调整程序中的流程控制结构。理解分支和循环的影响语句范围理解变量的生存范围理解并使用断言对程序进行调试3程序程序表现为完成某个功能(目标)而编写的指令集合。构成程序的基本元结构是顺序、分支和循环在整体上,程序运行是按照事先编写的指令(语句)从前到后的顺序执行,但在执行的过程中,经常会遇到基于不同条件的决策来执行不同的指令,抑或重复执行事先定义的指令来达到某种目的,但总体上程序总是顺序执行的。4一个例子编写一个程序,声明3个整型变量,用来保存3个学生的考试分数,计算他们的平均分(float类型)并输出。5进一步的如果某个学生的成绩低于60分,则不参与平均分计算。6在进一步如果有50个学生的成绩已经保存在一个整型数组中,同样基于上面规则来计算这批学生的平均分。74.1句、块和空白构成Java程序的最小单位是类,而类则是由属性和方法构成。方法代表了某个具体的能力,具体的一个方法就是由为完成某个功能而编写的若干条语句组成。84.1.1语句在Java编程语言中,语句是一行由分号(;)终止的代码,它是一个完整的可执行单元。例如:totals=a+b+c+d+e+f;与下式相同
total=a+b+c+d+e+f;9在Java中,主要有以下的语句类型声明语句inta=0;//声明了一个整型变量Studentstu;//声明了一个类型是Student的对象表达式语句赋值表达式,自增表达式、方法调用、对象创建都可以和分号一起构成“表达式语句”System.out.println(“Welcome”);//输出字符串a=Math.abs(-3.1);//返回绝对值value=100;//为变量赋值a++;//a自增Studentstu=newStudent(“张华”);//创建一个Student类的实例,实例引用名为stu控制语句104.1.2语句块一个块(block)或一个复合语句是以上括号和下括号为边界的语句集合;块语句也被用来组合属于某个类的语句。语句块可被嵌套。//ablock语句{x=y+1;y=x+1;}11//类声声明明所所包包含含的的块块语语句句publicclassMyDate{intday;intmonth;intyear;}12//一个个嵌嵌套套块块语语句句的的例例子子while(i<large){//循环环语语句句快快开开始始,,用用"{"表示示a=a+i;if(a==max){//判断断语语句句快快开开始始,,用用"{"表示示b=b+a;a=0;}//判断断语语句句块块结结束束,,用用"}"表示示}//循环环语语句句快快结结束束,,用用"}"表示示134.1.3空白白在源源代代码码元元素素之之间间允允许许空空白白,,空空白白的的数数量量不不限限。。空空白白(包括括空空格格、、tabs和新新行行)可以以改改善善源源代代码码的的视视觉觉感感受受。。{intx;x=23+54;}{intxx=23+54;}144.2顺序序结结构构顺序序结结构构程序序语语句句间间最最简简单单的的结结构构关关系系是是顺顺序序结结构构,,也也就就是是语语句句是是按按照照它它们们在在方方法法中中出出现现的的先先后后顺顺序序逐逐一一被被执执行行。。publicclassSwap{publicstaticvoidmain(String[]args){inta=10,b=20;intt=0;t=a;a=b;b=t;System.out.println("a="+a);System.out.println("b="+b);}}154.3选择结构构程序控制制可以定定义为对对程序语语句的执执行顺序序进行的的规定。。Java提供了条条件语句句在两种种或更多多的情况况做出选选择,根根据情况况执行不不同的程程序语句句;164.3.1条件判断断与决策策1if,else语句简单的单单分支语语句if(布尔表达达式){语句或块块;}例如if(score<60){System.out.println(“下次努力力哦!”);}174.3.1条件判断断与决策策(cont.)简单的双双分支语语句if(布尔表达达式){语句或块块;}else{语句或块块;}例如if(score<60){System.out.println(“下次努力力哦!”);}else{System.out.println(“恭喜你通通过考试试!”);}18expBAFT选择结构194.3.1条件判断断与决策策(cont.)嵌套的if,elseif(布尔表达达式1){语句或块块;}elseif(布尔表达达式2){语句或块块;}else{语句或块块;}20例如if((score<60){System.out.println(“下次次努力哦哦!”);}elseif(score<80){System.out.println(“恭喜喜你通过过考试!”);}else{System.out.println(“你考考的很棒棒!”);}21课堂练习习(c.)指出输出出结果x=2;y=3;if(x>2){if(y>2){intz=x+y;System.out.println(“zis””+z);}}elseSystem.out.println(“xis””+x);224.3.1条件判断断与决策策(cont.)2switch语句switch语句允许许程序员员更多情情况下选选择不同同的程序序逻辑,,当情况况发生时时,按照照事先准准备好的的方法执执行。switch语句的句句法是::switch(expr1){caseexpr2:statements;break;caseexpr3:statements;break;default:statements;}23chargender;//性别别…….switch((gender){case‘F’:case‘f’:System.out.println(”女性性“);break;case‘M’:case‘m’:System.out.println(”男性性“);break;}24表达式的的类型在switch(expr1)语句中,,expr1必须与int类型是赋赋值兼容容的;byte,short或char类型可被被升级;;不允许许使用浮浮点或long表达式。。从7开始,增增加了String类型。在switch(expr1)语句中中,expr1也可以以是枚枚举类类型publicenumMonth{JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER}breakbreak的作用用是停停止switch的执行行,退退出,,执行行switch代码段段后的的程序序。如果没没有break语句作作为某某一个个case代码段段的结结束句句,则则程序序的执执行将将继续续到下下一个个case,而不不检查查case表达式式的值值。25TA1Fexp=1TA2Fexp=2…TAnFexp=n多分支结构26课堂练练习指出输输出结结果x=2;y=3;if(x>2)if(y>2){intz=x+y;System.out.println(“zis””+z);}elseSystem.out.println(“xis””+x);27课堂练练习(c.)执行下下列switch语句后后y是多少少?x=3;switch(x+3){case6:y=1;default:y+=1;}switch中中的default本质是是一种种特殊殊匹配配变量或或表达达式的的值不不能与与任何何case值相匹匹配时时,可可选缺缺省符符(default)指出出了应应该执执行的的程序序代码码。位置default语句一一般在在switch语句的的最后后。注意如果匹匹配到到了default,并且且default后还有有其他他的case,则继继续执执行,,且忽忽略是是否匹匹配2829课堂练练习(c.)有一个个函数数如下下,根根据指指定的的x,输出出y值y=Xx<12X-11<=x<103X-11x>=10写出程程序,,根据据给出出的百百分制制成绩绩,输输出成成绩等等级’A’、’B’、’C’、’D’、’E’,90分以上上为A,80~89为B,70~79为C,60~69为D,60分以下下为E。30课堂练练习(c.)编写一一个程程序,,根据据命令令行参参数将将对应应的mon、tue、wed、thu、fri、sat、sun分别输输出为为星期期一、、星期期二….星期日日,如如:>JavaWeekDaymon>星期一一31思考题题如何提提高多多分支支下的的程序序执行行效率率?324.4循环循环语语句使使语句句或块块的执执行得得以重重复进进行。。Java编程语语言支支持三三种循循环构构造类类型::for,while和do循环。。for和while循环是是在执执行循循环体体之前前测试试循环环条件件do循环是是在执执行完完循环环体之之后测测试循循环条条件。。这就意意味着着for和while循环可可能连连一次次循环环体都都未执执行,,而而do循环将将至少少执行行一次次循环环体。。33FSTexp直到型循环当型循环TexpSF34for循环的的句法法是::for(init_expr;booleantestexpr;alter_expr){statementorblock}例如::for(inti=0;i<10;i++){System.out.println("i="+i);}35while循环的句法法:while(布尔表达式式){语句或块}inti=0;while(i<10){System.out.println("i="+i);i++;}System.out.println("Finally!");36do循环的句法法是:do{语句或块;;}while(布尔测试)inti=0;do{System.out.println("i="+i);i++;}while(i<10);System.out.println("Finally!");37思考题怎么决定使使用哪类循循环?38循环的嵌套套在一个循环环体内又包包含了另一一个完整的的循环结构构,成为嵌嵌套循环。。如:while(循环条条件){[语句;]while(循环环条件){[语句;]}[语句;]}394.4.4跳转下列语句可可被用在更更深层次的的控制循环环语句中::break[标注];;continue[标注];;label:语句;Label:被用来标识识循环构造造的复合语语句。break语句被用来从switch语句、for语句等循环环语句的块块中退出到到预先设定定的label处。当程序序运行到break[标注]处处时,程序序跳出整个个循环体的的结尾处。。continue语句被用来略过过并跳到循循环体的结结尾。当程程序运行到到continue[标注]处处时,程序序跳至标识识外循环的的下一次循循环开始处处继续执行行。40loop:while(true){for(inti=0;i<100;i++){switch(c=System.in.read()){case-1:case`\n`://跳到到最后处breakloop;....}}//endfor}//endwhile41课堂练习下面的循环环程序输出出结果是什什么?publicclassShowErrors{publicstaticvoidmain(String[]args){for(inti=0;i<10;i++);System.out.println(i+4);}}42课堂练习(c.)编写一个程程序,求出出1+2+3+…+100的和并输出出。求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业办公室租赁合同范本全文
- 2025关于房屋买卖的合同范本
- 高级计量员考试题及答案
- 钢琴弹唱曲考试题及答案
- 2025品牌形象设计委托合同范本
- 2025原材料采购合同模板
- 法院时政考试题及答案大全
- 法学导论考试题及答案PDF
- 对口高职幼教考试题及答案
- 东风日产上岗考试题及答案
- 2025西南证券股份有限公司招聘43人(重庆)笔试参考题库附带答案详解析集合
- 车祸理赔电子协议书模板
- 父亲同意改姓协议书
- 钙通道阻滞剂中毒急诊诊治专家共识(2025年)
- 情侣协议书电子版(2025年版)
- 小学生无人机教学课件
- 2024年中国光引发剂UV-651市场调查研究报告
- 开颅术后健康教育
- 江苏省徐州市2024-2025学年高二上学期期中考试英语试题 含解析
- 【MOOC】生命的教育-浙江大学 中国大学慕课MOOC答案
- 2024移动式压力容器充装许可鉴定评审作业指导书
评论
0/150
提交评论