版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3章章 程序控制语句程序控制语句 程序控制语句程序控制语句 本章要点本章要点n目标目标n掌握:掌握:ifif语句。语句。n掌握:掌握:switch语句和循环语句。语句和循环语句。n理解:理解:break、 continue和和 return的用法。的用法。n重点重点n掌握:能熟练使用三种常用的控制语句。掌握:能熟练使用三种常用的控制语句。n难点难点n理解:循环语句的执行过程。理解:循环语句的执行过程。程序控制语句程序控制语句 3.1 3.1 选择语句选择语句n程序控制语句用于控制程序中各语句的执行顺序。程序控制语句用于控制程序中各语句的执行顺序。nJava提供的流程控制语句有选择语句、循环
2、语句、跳转语句等。提供的流程控制语句有选择语句、循环语句、跳转语句等。n 3.2.1 简单简单if条件语句条件语句n简单简单if条件语句只在条件为真时执行,如图条件语句只在条件为真时执行,如图2-1 if 语句流程图所语句流程图所示其语法如下:示其语法如下: if(条件条件) 语句语句(块块); n 图图2-1 if 语句流程图语句流程图条件条件 语句语句(块块)TrueFalse程序控制语句程序控制语句 3.1 3.1 选择语句选择语句n若布尔表达式的值为真,则执行块内语句。若布尔表达式的值为真,则执行块内语句。if (score=60) system.out.println(“你及格了你及
3、格了”);if (score=60) System.out.println(“你及格了你及格了”);elseSystem.out.println(“你没有及格你没有及格”);程序控制语句程序控制语句 3.1 3.1 选择语句选择语句n3.1.3 if嵌套语句嵌套语句nif或或ifelse语句中的语句可以是任意合法的语句中的语句可以是任意合法的Java语句语句包括其包括其他他if或或if-else语句。内层的语句。内层的if语句称为嵌套在外层语句称为嵌套在外层if语句中。内层语句中。内层if语句又可以包含另一个语句又可以包含另一个if语句,事实上,嵌套的深度没有限制。语句,事实上,嵌套的深度没有
4、限制。 if(Score60)System.out.println(不及格不及格);elseif(Score80) System.out.println(及格及格);else if(Score90) System.out.println(良好良好); else System.out.println(优秀优秀:);程序控制语句程序控制语句 3.1 3.1 选择语句选择语句n前面的前面的if语句与下述语句等价:语句与下述语句等价:if(score60) System.out.println(不及格不及格);else if (score80) System.out.println(及格及格);els
5、e if (score90) System.out.println(良好良好);else System.out.println(优秀优秀);n事实上事实上,这是多重选择这是多重选择if语句比较好的书写风格。这个风格可以避语句比较好的书写风格。这个风格可以避免深层缩进,并使程序容易阅读。免深层缩进,并使程序容易阅读。n注意:注意:else子句与同一块中离得最近的子句与同一块中离得最近的if子句相匹配。子句相匹配。程序控制语句程序控制语句 3.1 3.1 选择语句选择语句n3.1.4 switch语句语句nswitch语句根据表达式的结果来执行多个可能操作中的一个,它的语法语句根据表达式的结果来执
6、行多个可能操作中的一个,它的语法形式如下:形式如下: switch (表达式表达式) case 常量常量1: 语句语句1; break;case 常量常量2: 语句语句2 ; break; case 常量常量n: 语句语句n ; break;default: 缺省处理语句缺省处理语句;nswitch语句中的每个语句中的每个“case 常量:常量:”称为一个称为一个case子句,代表一个子句,代表一个case分支的入口。分支的入口。switch语句的流程图如图语句的流程图如图2-3所示。所示。 图图2-3 switch语句流程图语句流程图程序控制语句程序控制语句 3.1 3.1 选择语句选择语句
7、n在在Java中,可以用中,可以用switch语句对操作进行分组,例如:语句对操作进行分组,例如:switch(Score)case 1:System.out.println (优秀优秀);break;case 2:System.out.println (优良优良);break;case 3:System.out.println (良好良好);break;case 4:System.out.println (及格及格);break;case 5:System.out.println (不及格不及格);break; default:nswitch要检查变量要检查变量Score的值,它的每个值是特
8、定值用的值,它的每个值是特定值用“case value:”来表示或者是使用缺省从句用来表示或者是使用缺省从句用“default:”来表示。来表示。n注意程序中使用了关键字注意程序中使用了关键字break,它的作用就是在得到与某个特定值相,它的作用就是在得到与某个特定值相匹配之后执行代码完成的时候跳出匹配之后执行代码完成的时候跳出switch条件。条件。程序控制语句程序控制语句 nJava的的3种循环语句有种循环语句有while、do-while和和for循环语句。循环语句。n3.2.1 while循环语句循环语句n它的执行过程如图它的执行过程如图2-4所示,其的语法如下:所示,其的语法如下:w
9、hile (条件)(条件)循环体循环体n说明:说明:n循环条件是一个布尔表达式,它必须放在括号中。循环条件是一个布尔表达式,它必须放在括号中。n在循环体执行前一定先计算循环条件,在循环体执行前一定先计算循环条件,n若条件为真,执行循环体,若条件为真,执行循环体,n若条件为假,整个循环中断并且程序控制转移到若条件为假,整个循环中断并且程序控制转移到while循环后的语句循环后的语句。 图图2-4 while语句流程图语句流程图条件条件循环体循环体falsetrue3.2 3.2 循环语句循环语句程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n例如用例如用while循环打印循环打印“W
10、elcome !”一百次。一百次。int i=0;while (i100)System.out.println(“Welcome!”);i+;ni的初值为的初值为0。循环检查(。循环检查(i100)是否为真,若真,则执行循环体,打)是否为真,若真,则执行循环体,打印消息印消息“Welcome!”并使并使i加加1。这将重复执行,直到(。这将重复执行,直到(i100)为)为止。若(止。若(i100)变为假,循环中断并执行循环体之后的第一条语句。)变为假,循环中断并执行循环体之后的第一条语句。程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n3.2.2 do-while循环语句循环语句nd
11、o循环其实就是循环其实就是while循环的变体。它的执行过程如图循环的变体。它的执行过程如图2-5所示,其所示,其的语法如下:的语法如下:do/循环体;循环体;while(条件);(条件);n注意:注意:n在在do循环中循环中while条件判断之后需要添加一个分号。条件判断之后需要添加一个分号。图图2-5do语句流程图语句流程图条件条件循环体循环体falsetrue程序控制语句程序控制语句 3.2 3.2 循环语句循环语句ndo-while的循环流程是和的循环流程是和while循环不一样的,二者的主要差别在于循循环不一样的,二者的主要差别在于循环条件和循环体的计算顺序不同。例如,可将例环条件和
12、循环体的计算顺序不同。例如,可将例3-1改写如下:改写如下:public class TestDo public static void main(String args) int data; int sum=0; do data=ReadInt(); sum+=data; while (data!=0); System.out.println(“The sum is”+sum); 程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n【例例3-1】源程序源程序TestWhile.java,读入一系列整数并计算其和,读入一系列整数并计算其和,输入输入0则表示输入结束。则表示输入结束。nc
13、lass TestWhilenpublic static void main(String args)throws java.io.IOExceptionnint i;nint sum=0;nSystem.out.println(请输入一个整数,请输入一个整数,0代表结束代表结束);ndonSystem.out.print(你输入的是:你输入的是:);ndoni=System.in.read();nwhile(i=n|i=r);ni=i-0;nsum=sum+i;nwhile(i!=0);nSystem.out.println(sum=+sum);nn程序控制语句程序控制语句 3.2 3.2
14、循环语句循环语句n3.2.3 for循环语句循环语句nfor循环语法如下:循环语法如下: for(循环变量初始化(循环变量初始化;循环条件循环条件;调整语句)调整语句)循环体;循环体;nfor循环语句以关键字循环语句以关键字for开始,然后是由括号括住的三个控制元开始,然后是由括号括住的三个控制元素,循环体括在大括号内。控制元素由分号分开,控制循环体的素,循环体括在大括号内。控制元素由分号分开,控制循环体的执行次数和终止条件。执行次数和终止条件。 程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n下面的下面的for循环可以打印循环可以打印Welcome!100次。次。int i;fo
15、r (i=0;i100;i+)System.out.println(Welcome!);n第一个元素为第一个元素为i=0,初始化循环变量。循环变量跟踪循环体的执行,初始化循环变量。循环变量跟踪循环体的执行次数,调整语句修改它的值。次数,调整语句修改它的值。n第二个元素为第二个元素为i100,是布尔表达式,用作循环条件。,是布尔表达式,用作循环条件。n第三个元素是调整控制变量的语句,循环变量的值最终必须使循环第三个元素是调整控制变量的语句,循环变量的值最终必须使循环条件变为假。条件变为假。n另外,循环变量也可以在另外,循环变量也可以在for循环中进行说明和初始化。上例还循环中进行说明和初始化。上
16、例还可写成下列语句:可写成下列语句:for (int i=0; i100; i+) System.out.println(Welcome!);程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n例例3-2源程序源程序TestSum.java,使用,使用for循环计算从循环计算从1到到100的数的数列的和。列的和。/本程序利用本程序利用for循环计算循环计算1到到100的和的和 public class TestSum public static void main(String args) int sum=0; for (int i=1;i=100;i+) sum+=i;System.
17、out.println(The sum is +sum); 程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n运行结果运行结果n程序分析程序分析n第第6句组成的句组成的for循环,变量循环,变量i从从1开始,每次增加开始,每次增加1,当,当i大于大于100时时循环终止。循环终止。程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n例例3-3:源程序源程序TestMulTable.java,使用嵌套的,使用嵌套的for循环打印九九乘法循环打印九九乘法表。表。 /本程序打印九九乘法表本程序打印九九乘法表 public class TestMulTable public stati
18、c void main(String args) System.out.print( ); for (int j=1;j=9;j+) System.out.print( +j); System.out.println( ); for (int i=1;i=9;i+) System.out.print(i+ ); for ( j=1;j=i; j+) if (i*j10) System.out.print( +i*j); else System.out.print( +i*j); System.out.println(); 程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n运行结果运行
19、结果n程序分析程序分析n第第56句组成的第一个循环显示数句组成的第一个循环显示数1到到9;n第第8句句19句是一个嵌套的句是一个嵌套的for循环,对每个外循环的循环变量循环,对每个外循环的循环变量i,内循环的循环变量内循环的循环变量j都要逐个取都要逐个取1,2,.,9,并显示出并显示出i*j的值;的值;n第第1316句的句的if语句使结果右对齐。语句使结果右对齐。程序控制语句程序控制语句 程序控制语句程序控制语句 3.3 3.3 与程序有关的其他语句与程序有关的其他语句n3.3.1 break语句语句nbreak有两种形式有两种形式break和和 break 标号。标号。n一种是不带语句标号的
20、一种是不带语句标号的break,用于立刻终止包含它的最内层循环。,用于立刻终止包含它的最内层循环。n另一种是带标号的另一种是带标号的break,用于多重循环中,跳出它所指定的块,并从,用于多重循环中,跳出它所指定的块,并从紧跟该块的第一条语句处执行。紧跟该块的第一条语句处执行。n例如:下面例如:下面break语句中断内层循环并把控制立即转移到外层循环后语句中断内层循环并把控制立即转移到外层循环后的语句。的语句。 outer:for(int i=1; i10; i+) inner: for(int j=1; j50) break outer; System.out.println(i*j); n
21、如果把上述语句中的如果把上述语句中的break outer换成换成break,则,则break语句终止内语句终止内层循环,仍然留在外层循环中。如果想退出外循环,就要使用带标层循环,仍然留在外层循环中。如果想退出外循环,就要使用带标号的。号的。程序控制语句程序控制语句 3.3 3.3 与程序有关的其他语句与程序有关的其他语句n例例3-4:源程序源程序TestBreak.java,测试,测试break语句对程序结果的影语句对程序结果的影响响。 /本程序测试本程序测试break语句语句 public class TestBreak public static void main(String args) int sum=0; int item=0; while(item=6) break; System.out.println(The sum is +sum); 程序控制语句程序控制语句 3.3 3.3 与程序有关的其他语句与程序有关的其他语句n运行结果运行结果n程序分析程序分析n第第611句的句的while循环中,如果不用循环中,如果不用9行的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电影娱乐行业在线购票与会员管理平台方案
- 电子元器件项目运营管理方案
- 2025 高中语文必修上册《哦香雪》香雪的文化追求与个人成长课件
- 机械运动学试题及答案
- 幼儿园各领域学科简案5篇
- 南坝小学考试题目及答案
- 血透室职业暴露应急预案
- 2025年临床执业医师《外科》模拟卷
- 医保基金使用规范考核试题及答案
- 简单技巧组合考试题及答案
- 2026年哈尔滨科学技术职业学院单招职业技能考试题库附答案
- 资源枯竭型城市冷水江经济转型发展研究的开题报告
- 大唐国际600MW仿真机题
- 会议记录表格式01
- 新视野大学英语(第四版)读写教程1(思政智慧版) 课件 Unit 4 Social media matters Section A
- 第二章-军事思想-题库
- 灰姑娘Cinderella英语故事(课堂PPT)
- 新型花篮式悬挑架专项施工方案
- 闽教版(2020版)六年级上册信息技术全册教案
- 恒大-金碧天下开盘方案
- GB/T 21655.1-2008纺织品吸湿速干性的评定第1部分:单项组合试验法
评论
0/150
提交评论