




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章流程控制1理解程序控制的概念运用条件语句,使用if,switch来控制程序的不同执行路径掌握for、while和do句型结构控制程序的循环执行理解并能应用break和continue调整程序中的流程控制结构。理解分支和循环的影响语句范围理解变量的生存范围理解并使用断言对程序进行调试2程序表现为完成某个功能(目标)而编写的指令集合。构成程序的基本元结构是顺序、分支和循环在整体上,程序运行是按照事先编写的指令(语句)从前到后的顺序执行,但在执行的过程中,经常会遇到基于不同条件的决策来执行不同的指令,抑或重复执行事先定义的指令来达到某种目的,但总体上程序总是顺序执行的。3编写一个程序,声明3个整型变量,用来保存3个学生的考试分数,计算他们的平均分(float类型)并输出。4进一步的如果某个学生的成绩低于60分,则不参与平均分计算。5在进一步如果有50个学生的成绩已经保存在一个整型数组中,同样基于上面规则来计算这批学生的平均分。6构成Java程序的最小单位是类,而类则是由属性和方法构成。方法代表了某个具体的能力,具体的一个方法就是由为完成某个功能而编写的若干条语句组成。7在Java编程语言中,语句是一行由分号(;)终止的代码,它是一个完整的可执行单元。例如:totals=a+b+c+d+e+f;与下式相同
total=a+b+c+d+e+f;8在Java中,主要有以下的语句类型声明语句inta=0;//声明了一个整型变量Studentstu;//声明了一个类型是Student的对象表达式语句赋值表达式,自增表达式、方法调用、对象创建都可以和分号一起构成“表达式语句”System.out.println(“Welcome”);//输出字符串a=Math.abs(-3.1);//返回绝对值value=100;//为变量赋值a++;//a自增Studentstu=newStudent(“张华”);//创建一个Student类的实例,实例引用名为stu控制语句9一个块(block)或一个复合语句是以上括号和下括号为边界的语句集合;块语句也被用来组合属于某个类的语句。语句块可被嵌套。//ablock语句{x=y+1;y=x+1;}10//类声明所包含的块语句publicclassMyDate{intday;intmonth;intyear;}11//一个嵌套块语句的例子while(i<large){//循环语句快开始,用"{"表示
a=a+i;if(a==max){//判断语句快开始,用"{"表示
b=b+a;a=0;}//判断语句块结束,用"}"表示}//循环语句快结束,用"}"表示12在源代码元素之间允许空白,空白的数量不限。空白(包括空格、tabs和新行)可以改善源代码的视觉感受。{intx;x=23+54;}
{intxx=23+54;}13顺序结构程序语句间最简单的结构关系是顺序结构,也就是语句是按照它们在方法中出现的先后顺序逐一被执行。
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);
} }14程序控制可以定义为对程序语句的执行顺序进行的规定。Java提供了条件语句在两种或更多的情况做出选择,根据情况执行不同的程序语句;151if,else语句简单的单分支语句if(布尔表达式){语句或块;}例如if(score<60){System.out.println(“下次努力哦!”);}16简单的双分支语句if(布尔表达式){语句或块;}else{语句或块; }例如if(score<60){System.out.println(“下次努力哦!”);}else{System.out.println(“恭喜你通过考试!”);}17expBAFT选择结构18嵌套的if,elseif(布尔表达式1){语句或块;}elseif(布尔表达式2){语句或块; }else{
语句或块;
}19例如if(score<60){
System.out.println(“下次努力哦!”);}elseif(score<80){
System.out.println(“恭喜你通过考试!”);
}else{
System.out.println(“你考的很棒!”);
}20指出输出结果x=2;y=3;if(x>2){if(y>2){intz=x+y;System.out.println(“zis”+z);}}elseSystem.out.println(“xis”+x);
212switch语句switch语句允许程序员更多情况下选择不同的程序逻辑,当情况发生时,按照事先准备好的方法执行。switch语句的句法是:switch(expr1){caseexpr2:statements;break;caseexpr3:statements;break;default: statements;}22chargender;//性别…….switch(gender){case‘F’:case‘f’:System.out.println(”女性“);break;case‘M’:case‘m’:System.out.println(”男性“);break;}23表达式的类型在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表达式的值。24TA1Fexp=1TA2Fexp=2…TAnFexp=n多分支结构25指出输出结果x=2;y=3;if(x>2)if(y>2){intz=x+y;System.out.println(“zis”+z);}elseSystem.out.println(“xis”+x);
26执行下列switch语句后y是多少?
x=3;switch(x+3){case6:y=1;default:y+=1;}27本质是一种特殊匹配变量或表达式的值不能与任何case值相匹配时,可选缺省符(default)指出了应该执行的程序代码。位置default语句一般在switch语句的最后。注意如果匹配到了default,并且default后还有其他的case,则继续执行,且忽略是否匹配28有一个函数如下,根据指定的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。29编写一个程序,根据命令行参数将对应的mon、tue、wed、thu、fri、sat、sun分别输出为星期一、星期二….星期日,如:>JavaWeekDaymon>星期一30如何提高多分支下的程序执行效率?31循环语句使语句或块的执行得以重复进行。Java编程语言支持三种循环构造类型:for,while和do循环。for和while循环是在执行循环体之前测试循环条件do循环是在执行完循环体之后测试循环条件。这就意味着for和while循环可能连一次循环体都未执行,而do循环将至少执行一次循环体。32FSTexp直到型循环当型循环TexpSF33for循环的句法是:
for(init_expr;booleantestexpr;alter_expr){statementorblock
}例如:
for(inti=0;i<10;i++){
System.out.println("i="+i);
}34while循环的句法:while(布尔表达式){ 语句或块}inti=0;while(i<10){
System.out.println("i="+i);
i++;}System.out.println("Finally!");35do循环的句法是:do{语句或块;}while(布尔测试)inti=0;do{System.out.println("i="+i);i++;}while(i<10);System.out.println("Finally!");36怎么决定使用哪类循环?37在一个循环体内又包含了另一个完整的循环结构,成为嵌套循环。如:while(循环条件){[语句;]while(循环条件){[语句;]}[语句;]}38下列语句可被用在更深层次的控制循环语句中:break[标注];continue[标注];label:语句;Label:被用来标识循环构造的复合语句。break语句被用来从switch语句、for语句等循环语句的块中退出到预先设定的label处。当程序运行到break[标注]处时,程序跳出整个循环体的结尾处。continue语句被用来略过并跳到循环体的结尾。当程序运行到continue[标注]处时,程序跳至标识外循环的下一次循环开始处继续执行。39loop:while(true){
for(inti=0;i<100;i++){
switch(c=System.in.read()){
case-1:
case`\n`:
//跳到最后处
breakloop;
....
}
}//endfor}//endwhile40下面的循环程序输出结果是什么?publicclassShowErrors{publicstaticvoidmain(String[]args){for(inti=0;i<10;i++);System
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省成都东辰国际校2025届初三一模考试数学试题试卷含解析
- 辽宁省大连市新民间联盟2024-2025学年初三第六次摸底考试数学试题含解析
- 辽宁省大石桥市重点名校2025年初三联考考试数学试题含解析
- 色达县2025年三下数学期末考试模拟试题含解析
- 江苏宿迁市2024-2025学年下学期高三生物试题(文史类)一模考试试卷含解析
- 浙江水利水电学院《分子与细胞生物学检测技术》2023-2024学年第二学期期末试卷
- 伊春市嘉荫县2025届三下数学期末质量检测试题含解析
- 室内装饰材料员培训
- 如何打造高端大气活动
- 2025购车合同简版格式
- 防化的相关知识
- 青少年科技创新知识讲座
- 2025山东司法警官职业学院教师招聘考试试题及答案
- 植物地理学课件 苔原(最终版)学习资料
- 水库维修养护实施方案
- 2025中国农业银行个人房屋按揭贷款合同
- 吉林烟草工业有限责任公司招聘真题2024
- 水库运行安全风险评估-全面剖析
- 第二单元 声现象(大单元教学设计)(新教材)2024-2025学年八年级物理上册同步备课系列(人教版2024)
- 美好家园《8未来城市》课件 -2024-2025学年浙人美版(2024)初中美术七年级下册
- 2025年广东科贸职业学院单招职业技能测试题库必考题
评论
0/150
提交评论