下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章流程控制3d程序的逻辑控制32选择控制结构X2J由if语句引导的选择结构32由switch语句引导的选择结构X3循环控制结构X4练习题3.1 程序的逻辑控制结构化程序设计中的逻辑控制:即顺序、选择.循环,而且只能 用这3种结构来完成程序。程序流程图:是软件开发者用来表达算法的一种工具,也叫程序3. 2 选择控制结构选择控制结构是在两种或两种以上的多条路径上 选择一条执行。通常在进行选择之前,先做一个判断, 根据结果进行选择。Java中的选择控制结构有if和swi tch两个关键词来引导。1. if.else结构在所仃的语言中都右这个结构,而目.结构的格式基本相同,程序流程如图所示。语句如
2、下:if(条件表达式)语句组1;else语句组2;ifelse结构程序流程后尺定中祸环例3.1 if. else结构示例import java.io.*;public class IfEIsel public static void main(String args)char c=0;System.out.print(nEnter a character:H);tryc=(char)System.in.代ad();catch(lOException e);if(c=65&c=97&c=122)判断接收的内容是否是字母。System.out.println(HIt is a le
3、tter. The letter is:H+c); elseSystem.out.printlnCIts not a letter.H);例3.2 if.else结构示例二见程序代码注总:当i或else中需要执行多语句时,必须用大括号将它们括起来。另外,如杲程序的条件语句嵌套比较多,逻辑比较复杂,建议大 家多使用大括号,这样能够提高程序的可读性。2. if结构if(条件表达式) 语句组: 例如:int n=0;if(x80)gradeInFive=5;if(gradeInHundred60) gradeInFive=4;if(gradeInHundred40) gradeInFive=3;if
4、(gradeInHundred20) grade In Five=2;elsegradeInFive=l;322 由 switch 语句引导的选择结构switch(条件表达式)case判断值1:语句组1case判断值2:语句组2case判断值3:语句组3case判断值n:语句组ndefault:语句组n+1当程序执行到switch语句时,先计算表达式的值,假设值为A,然 后拿A与第1个case语句中的判断值相比,如果相同,则执行语句组1。然后再拿A与第2个case语句中的判断值相比,如果相同,则执 行语句组2,以此类推,直到执行语句组然后不加判断就执行语 句组n+1。这时才跳出switch引导
5、的选择结构。Switch语句和else if结构的区别首先,else if结构中的条件表达式可以很复杂,它的 结果是个布尔量,而swi tch结构中的条件表达式的结 果是整型或字符型数据;其次,else if结构中被执行的分支只有一个,而switch结构中被执行的分支可能有多个最后,在switch结构中多语句的语句组不需要用大括 号括起,只需用分号隔开即可switch结构中的跳转语句是breako不带break的程序段 如下:switch(gradeSign) case A : gradeInFive=5;case:gradeInFive=4;caseC:gradeInFive=3;defau
6、lt:gradeInFive=l;当gradeSign为A时,switch程序块执行完后,gradelnFive的值将为lo加入bre“k语句的程序段如卜:switch(gradcSign)case A : gradeIiiFive=5;break;case B : gradeIiiFive=4;break;case C : gradeIiiFive=3;break; default: gradeInFive=l;当gradeSign仍为A时,switch程序块执行完后,gradelnFive的值将为5。町以看出,break语句的作用是当程序执行到break语句时, 跳出由switch控 制的
7、大括号,而去执行下面的语句。議蚕耋聖榮烹籃擊釁1録離鹫鹳瞪1際句组时,程序switch(gradeSign) case A :case B :case C :flag=l;break;default: flag=O;此时,gradeSign的值无论是A, B或者C,程序都将得到flag=1,如果gradeSign是其他值,就会得到flag=O,该程序段町用于判断某 个成绩是否及格。3.3 循环控制结构循环控制结构是指在一定条件下,反复执行某程 序段的流程结构。它是山循环语句和特殊的跳转语句 实现控制的,反复执行的程序段称为循环体。循环语句有for语句、while语句和do.while语句, 跳
8、转语句*要肴continue语句和break语句。for语句是运用最为广泛的一种循环语句, 也是功能最强的一种。一般格式如下:for(表达式1 ;表达式2;表达式3)循环体;1 for语句For语句的程序流程例3.3输出19的平方表Fori.java的程序内容如卜一:public class Fori public static void niain(String args) int i;System.out.println(Mn n*nM);System, out. printin(”.);for(i=l;i10;i+)System.out.println(i+H+i*i);这个程序的循坏部
9、分初始时,给循环变罚赋值为仁 每次循环时先判断i的 值是否小于10,如果是就执行循环体,然后给i加仁因此,最后的结果是 打印出从19的平方。例3.4 for语句中的逗号运算符public class For2public static void main(String args) for(int i=l,j=i+10; i5; i+,j=i *2)注意括廿内的内容都是合法的System.out.println(i= +i+j=+j);做了一些It他爭情,町见,只要是介法的衣达式都叮以放在for循环 的农达式位置。2. while语句while语句是一种先判断的循环结构,语句格式如卜:while
10、(条件表达式) 循环体;while循环的程序流程图皿j-i例3.5查找平方小于100 000的最大整数While I.java的程序内容如下:public class While 1 public static void main(String J args)int i=0;while(i*i 100000)(i+;System.out.println(i+H3. dowhile语句dowhile语句的使用Awhile语句的使用相似,不过do while语句是后判断的循坏结构,语句格式如卜:do循环体;while(条件表达式)do.while语句的流程图4. break语句break语句町用于
11、switch引导的分支结构以及以上3种循坏结 构,它的作用是强行退出循环结构,不执行循环结构中剩余的语 句。Break语句有带标签和不带标签两种。格式如下:例3.6各种break语句的比较 耐代码程序的运行结果break;breaklabel;不带标签带标签,label是标签名皿j-i当使用外层循环中的带标签的break跳到指示内层循环的标签label2时,将产生逻辑错误,编译时就会报错,原因是程序只在break label2所在的循环结构以外寻找对应标签,所以label2对它 不可见,错误信息如图所示5. continue语句continue语句只丿IJ丁循环结构中,它有带标签和不带 标签两
12、种格式。格式如下:continue;continue label;不带标签的continue语句作用是终止当前循环结构的 本轮循环而直接开始下一轮循环。带标签的continue语句的作用是把程序直接转到标签 所指示的那一个循环结构的下一轮,而不管被它嵌套 的及continue语句所在的循环结构运行到了哪一轮。例3.7熟悉continue语句A.结构化程序设计中鼓励使用goto句B.结构化程序设计中绝对不能使用跳转语句C.结构化程序设计中有3种逻辑控制结构:顺序.循环、选择D.每个程序中都必须使用顺序.循环.选样这3种逻辑控制结 构酣代码(1)下列说法哪(2)关于选择结构下列哪个说法正确?A.if语句和else语句必须成对出现B.if语句可以没有else语句对应C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句(3)以下语句中有语法错误的是:A.B.C.D.for(;);for(int i=O;ivlOO:i+);if(a0) a+; ,intfld a=new int44; for(int i=0;iv4;i+) for(int j=O:j v4;j+) (2)说出m, n的最终值和含义。int m=O.n=O:for(int i=0; i100;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GA/T 1466.1-2026智能手机型移动警务终端第1部分:技术要求
- 广东省梅州市全国英语等级考试(PETS)一级B全真模拟试题及答案解析(2026年上半年)
- 2026年重症监护护理考试备考冲刺模拟试卷含答案解析
- 2026年试验员考试专业基础知识模拟试题及答案
- 2026年心理咨询师之心理咨询师基础知识考试题库及答案
- 2026低压电工证考试题模拟试题及答案
- 2026年江西省成人高等学校招生考试英语(专升本)练习题及答案
- 土地性质测试题及答案
- 土产公司面试题及答案
- 冷链物流企业主要负责人定期维护安全操作规程
- 口腔护理入编试题及答案
- 桥梁钢筋劳务分包合同
- 湖南农发环保科技有限责任公司招聘笔试题库2026
- 2026年招聘消防文员笔试题库附答案
- 汽车零部件清洁生产办法
- 航空发动机设计与维护手册
- 2026年产品经理考试题库含答案详解
- 2026年人教版初中七年级语文上册文言文古今异义卷含答案
- 中国航天科技集团校招面笔试题及答案
- 2025年杭州市西湖区社区工作人员(网格员)考试题库真题及答案
- 审计人员轮岗制度
评论
0/150
提交评论