




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3章章 程序控制语句程序控制语句 程序控制语句程序控制语句 本章要点本章要点n目的目的n掌握:掌握:if语句。语句。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 语句流程图所示其语法如语句流程图所示其语法如下:下:n if(条件条件)n 语句语句(块块);n n 图图2-1 if 语句流程图语句流程图条件条件 语句语句(块块)TrueFalse程序控制语句程序控制语句 3.1 3.1 选择语句选择语句n假设布尔表达式的值为真,那么执行块内语句。假设布尔表达式的值为真,那么执行块内语句。nif (score=60)n system.out.println(
3、“他及格了他及格了);nif (score=60) nSystem.out.println(“他及格了他及格了);nnelsenSystem.out.println(“他没有及格他没有及格);n程序控制语句程序控制语句 3.1 3.1 选择语句选择语句n3.1.3 if嵌套语句嵌套语句nif或或ifelse语句中的语句可以是恣意合法的语句中的语句可以是恣意合法的Java语句语句包括其他包括其他if或或if-else语句。内层的语句。内层的if语句称为语句称为嵌套在外层嵌套在外层if语句中。内层语句中。内层if语句又可以包含另一个语句又可以包含另一个if语句,现实上,嵌套的深度没有限制。语句,现
4、实上,嵌套的深度没有限制。 nif(Score60)nSystem.out.println(不及格不及格);nelsenif(Score80) n System.out.println(及格及格);nelse n if(Score90)n System.out.println(良好良好);n elsen System.out.println(优秀优秀:);程序控制语句程序控制语句 3.1 3.1 选择语句选择语句n前面的前面的if语句与下述语句等价:语句与下述语句等价:nifscore60n System.out.println(不及格不及格);nelse if (score80)n Syst
5、em.out.println(及格及格);nelse if (score90)n System.out.println(良好良好);nelse n System.out.println(优秀优秀);n现实上现实上,这是多重选择这是多重选择if语句比较好的书写风格。这个风格可以防语句比较好的书写风格。这个风格可以防止深层缩进,并使程序容易阅读。止深层缩进,并使程序容易阅读。n留意:留意:else子句与同一块中离得最近的子句与同一块中离得最近的if子句相匹配。子句相匹配。程序控制语句程序控制语句 3.1 3.1 选择语句选择语句n3.1.4 switch语句语句nswitch语句根据表达式的结果来
6、执行多个能够操作中的一个,语句根据表达式的结果来执行多个能够操作中的一个,它的语法方式如下:它的语法方式如下: nswitch (表达式表达式) ncase 常量常量1: n 语句语句1; n break;ncase 常量常量2: n 语句语句2 ;n break;n ncase 常量常量n: n 语句语句n ;n break;ndefault: n 缺省处置语句缺省处置语句;nnswitch语句中的每个语句中的每个“case 常量:称为一个常量:称为一个case子句,子句,代表一个代表一个case分支的入口。分支的入口。switch语句的流程图如图语句的流程图如图2-3所所示。示。 图图2-
7、3 switch语句流程图语句流程图程序控制语句程序控制语句 3.1 3.1 选择语句选择语句n在在Java中,可以用中,可以用switch语句对操作进展分组,例如:语句对操作进展分组,例如:nswitch(Score)ncase 1:nSystem.out.println (优秀优秀);nbreak;ncase 2:nSystem.out.println (优良优良);nbreak;ncase 3:nSystem.out.println (良好良好);nbreak;ncase 4:nSystem.out.println (及格及格);nbreak;ncase 5:nSystem.out.pr
8、intln (不及格不及格);nbreak; ndefault:nnswitch要检查变量要检查变量Score的值,它的每个值是特定值用的值,它的每个值是特定值用“case value:来表示或者是运用缺省从句用来表示或者是运用缺省从句用“default:来表示。:来表示。n留意程序中运用了关键字留意程序中运用了关键字break,它的作用就是在得到与某个特定值相,它的作用就是在得到与某个特定值相匹配之后执行代码完成的时候跳出匹配之后执行代码完成的时候跳出switch条件。条件。程序控制语句程序控制语句 nJava的的3种循环语句有种循环语句有while、do-while和和for循环语句。循环
9、语句。n3.2.1 while循环语句循环语句n它的执行过程如图它的执行过程如图2-4所示,其的语法如下:所示,其的语法如下:nwhile 条件条件n循环体循环体nn阐明:阐明:n循环条件是一个布尔表达式,它必需放在括号中。循环条件是一个布尔表达式,它必需放在括号中。n在循环体执行前一定先计算循环条件,在循环体执行前一定先计算循环条件,n假设条件为真,执行循环体,假设条件为真,执行循环体,n假设条件为假,整个循环中断并且程序控制转移到假设条件为假,整个循环中断并且程序控制转移到while循环后的语循环后的语句。句。 图图2-4 while语句流程图语句流程图条件条件循环体循环体falsetru
10、e3.2 3.2 循环语句循环语句程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n例如用例如用while循环打印循环打印“Welcome !一百次。一百次。nint i=0;nwhile i100nSystem.out.println(“Welcome!);ni+;nni的初值为的初值为0。循环检查。循环检查i100能否为真,假设真,那么执行循环体,能否为真,假设真,那么执行循环体,打印音讯打印音讯“Welcome!并使!并使i加加1。这将反复执行,直到。这将反复执行,直到i100为为止。假设止。假设i100变为假,循环中断并执行循环体之后的第一条语句。变为假,循环中断并执行循环体
11、之后的第一条语句。程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n3.2.2 do-while循环语句循环语句ndo循环其实就是循环其实就是while循环的变体。它的执行过程循环的变体。它的执行过程如图如图2-5所示,其的语法如下:所示,其的语法如下:ndon/循环体;循环体;nwhile条件;条件;n留意:留意:n在在do循环中循环中while条件判别之后需求添加一个分号。条件判别之后需求添加一个分号。图图2-5do语句流程图语句流程图条件条件循环体循环体falsetrue程序控制语句程序控制语句 3.2 3.2 循环语句循环语句ndo-while的循环流程是和的循环流程是和wh
12、ile循环不一样的,二者的主要差别在于循循环不一样的,二者的主要差别在于循环条件和循环体的计算顺序不同。例如,可将例环条件和循环体的计算顺序不同。例如,可将例3-1改写如下:改写如下:npublic class TestDon public static void mainString argsn int data;n int sum=0;n don data=ReadInt();n sum+=data;n while (data!=0);n System.out.println(“The sum is+sum);n n程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n【例【例3-1
13、】源程序】源程序TestWhile.java,读入一系列整数并计算其和,读入一系列整数并计算其和,输入输入0那么表示输入终了。那么表示输入终了。nclass 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;nsu
14、m=sum+i;nwhile(i!=0);nSystem.out.println(sum=+sum);nn程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n3.2.3 for循环语句循环语句nfor循环语法如下:循环语法如下:n nfor循环变量初始化循环变量初始化;循环条件循环条件;调整语句调整语句n循环体;循环体;nnfor循环语句以关键字循环语句以关键字for开场,然后是由括号括住开场,然后是由括号括住的三个控制元素,循环体括在大括号内。控制元素的三个控制元素,循环体括在大括号内。控制元素由分号分开,控制循环体的执行次数和终止条件。由分号分开,控制循环体的执行次数和终止条件。
15、程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n下面的下面的for循环可以打印循环可以打印Welcome!100次。次。nint i;nfor (i=0;i100;i+)nSystem.out.println(Welcome!);nn第一个元素为第一个元素为i=0,初始化循环变量。循环变量跟踪循环体的执,初始化循环变量。循环变量跟踪循环体的执行次数,调整语句修正它的值。行次数,调整语句修正它的值。n第二个元素为第二个元素为i100,是布尔表达式,用作循环条件。,是布尔表达式,用作循环条件。n第三个元素是调整控制变量的语句,循环变量的值最终必需使循第三个元素是调整控制变量的语句,循环
16、变量的值最终必需使循环条件变为假。环条件变为假。n另外,循环变量也可以在另外,循环变量也可以在for循环中进展阐明和初始化。上例还循环中进展阐明和初始化。上例还可写成以下语句:可写成以下语句:nfor (int i=0; i100; i+)n System.out.println(Welcome!);n程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n例例3-2源程序源程序TestSum.java,运用,运用for循环计算从循环计算从1到到100的数的数列的和。列的和。n/本程序利用本程序利用for循环计算循环计算1到到100的和的和n public class TestSumn p
17、ublic static void main(String args) n int sum=0;n for (int i=1;i=100;i+)n sum+=i;nSystem.out.println(The sum is +sum);nn 程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n运转结果运转结果n程序分析程序分析n第第6句组成的句组成的for循环,变量循环,变量i从从1开场,每次添加开场,每次添加1,当,当i大于大于100时循环终止。时循环终止。程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n例例3-3:源程序源程序TestMulTable.java,运用嵌套
18、的,运用嵌套的for循环打印九九乘法循环打印九九乘法表。表。n /本程序打印九九乘法表本程序打印九九乘法表n public class TestMulTablen public static void main(String args)n System.out.print( ); n for (int j=1;j=9;j+)n System.out.print( +j);n System.out.println( );n for (int i=1;i=9;i+) n System.out.print(i+ );n for ( j=1;j=i; j+) n if (i*j10)n System.
19、out.print( +i*j);n elsen System.out.print( +i*j);n n System.out.println();n n n 程序控制语句程序控制语句 3.2 3.2 循环语句循环语句n运转结果运转结果n程序分析程序分析n第第56句组成的第一个循环显示数句组成的第一个循环显示数1到到9;n第第8句句19句是一个嵌套的句是一个嵌套的for循环,对每个外循环的循环变量循环,对每个外循环的循环变量i,内循环的循环变量内循环的循环变量j都要逐个取都要逐个取1,2,.,9,并显示出并显示出i*j的值;的值;n第第1316句的句的if语句使结果右对齐。语句使结果右对齐。程
20、序控制语句程序控制语句 程序控制语句程序控制语句 3.3 3.3 与程序有关的其他语句与程序有关的其他语句n3.3.1 break语句语句nbreak有两种方式有两种方式break和和 break 标号。标号。n一种是不带语句标号的一种是不带语句标号的break,用于立刻终,用于立刻终止包含它的最内层循环。止包含它的最内层循环。n另一种是带标号的另一种是带标号的break,用于多重循环中,用于多重循环中,跳出它所指定的块,并从紧跟该块的第一条跳出它所指定的块,并从紧跟该块的第一条语句处执行。语句处执行。n例如:下面例如:下面break语句中断内层循环并把控语句中断内层循环并把控制立刻转移到外层
21、循环后的语句。制立刻转移到外层循环后的语句。 nouter:nforint i=1; i10; i+)n inner:n forint j=1; j50n break outer;n System.out.println(i*j);n nn假设把上述语句中的假设把上述语句中的break outer换成换成break,那么那么break语句终止内层循环,依然留在外语句终止内层循环,依然留在外层循环中。假设想退出外循环,就要运用带层循环中。假设想退出外循环,就要运用带标号的。标号的。程序控制语句程序控制语句 3.3 3.3 与程序有关的其他语句与程序有关的其他语句n例例3-4:源程序源程序Test
22、Break.java,测试,测试break语句对程序结果的影语句对程序结果的影响。响。n /本程序测试本程序测试break语句语句n public class TestBreakn public static void main(String args)n int sum=0;n int item=0;n while(item=6) n break;n n System.out.println(The sum is +sum);n n 程序控制语句程序控制语句 3.3 3.3 与程序有关的其他语句与程序有关的其他语句n运转结果运转结果n程序分析程序分析n第第611句的句的while循环中,假设不用循环中,假设不用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中学音乐选修课竖笛教学计划
- 2025年OLED寿命检测系统项目建议书
- 2025年金融行业员工安全培训计划
- 国际合唱节参展活动计划
- 2025年锯片级人造金刚石项目合作计划书
- 妇女健康服务与培训计划
- 2025年军迷用品合作协议书
- 2025年部编三年级语文上册专题研究计划
- 小学英语文化教学实践案例
- 2025年高纯BN扩散沅制品项目合作计划书
- 金融知识与服务考核试卷
- 消化系统(人体解剖生理学)
- 临床医学科研设计的基本原则和设计要点
- 班组长的领导方式与技巧
- DL-T5190.1-2022电力建设施工技术规范第1部分:土建结构工程
- TD/T 1044-2014 生产项目土地复垦验收规程(正式版)
- (高清版)JTGT 3331-07-2024 公路膨胀土路基设计与施工技术规范
- 基金会公益慈善项目管理办法
- 2009年10月自考00567马列文论选读试题及答案含解析
- 小学第三学段培养数学模型意识研究-以南昌市A小学为例
- 中国电磁加热器行业市场现状分析及竞争格局与投资发展研究报告2024-2029版
评论
0/150
提交评论