Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt
- 文档编号:960134
- 上传时间:2022-10-14
- 格式:PPT
- 页数:24
- 大小:562.50KB
Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt
《Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt(24页珍藏版)》请在冰豆网上搜索。
第四章,流程控制,辽宁机电职业技术学院,DesignedByChiyong2008,本章目标,分支结构,辽宁机电职业技术学院,DesignedByChiyong2008,4.1流程控制语句与块概述,流程控制结构分类流程控制结构可以分为:
顺序结构、分支结构和循环结构。
流程控制中的跳转语句Java中支持break、continue、return三种用于在分支和循环中跳转的语句,不再支持VB和C语言中的无条件跳转goto语句。
块(Block)语句所谓的“块”,简而言之就是一对花括号括起来的部分,其中可以包含任意数量的语句和其它嵌套子块。
块决定着变量的作用域(Scope),同一块内不得声明两个同名的变量。
辽宁机电职业技术学院,DesignedByChiyong2008,4.2顺序结构,功能:
其中A和B两个框是顺序执行的必然,即在执行完A框所指定的操作后,接着执行B框所指定的操作。
辽宁机电职业技术学院,DesignedByChiyong2008,4.3分支结构,功能:
基本的结构中包含一个判断框,根据给定的条件表达式是否成立而选择执行A框或B框,即无论条件表达式是否成立,只能执行A框或B框,当然A或B可以有一个是空的。
分支语句有if语句和switchcase语句两种。
辽宁机电职业技术学院,DesignedByChiyong2008,4.3.1if分支结构(1-1),if语句一般格式为:
if(条件表达式)语句;或者:
if(条件表达式)块;说明:
如果条件表达式为真时,执行后面的语句或块;否则跳过语句或块执行下面的语句。
ifelse语句格式为:
if(条件表达式)语句1或块1;else语句2或块2;说明:
如果条件表达式为真时,执行后面的语句1或块1,然后跳过else语句后的语句2或块2,接着执行下面的语句;如果条件表达式为假,跳过if语句后面的语句1或块1,执行else后面的语句2或块2,然后接着执行下面的语句。
注意:
else子句不能单独使用,必须与if子句配套使用。
辽宁机电职业技术学院,DesignedByChiyong2008,4.3.1if分支结构(1-2),ifelse嵌套语句若ifelse分支中语句1或语句2又包含有if语句,就构成了if语句的嵌套。
格式为:
if(条件表达式1)语句1或块1;elseif(条件表达式2)语句2或块2;elseif(条件表达式3)语句3或块3;elseif(条件表达式n)语句n或块n;else语句n+1;ifelse结构流程如图所示:
辽宁机电职业技术学院,DesignedByChiyong2008,4.3.1if分支结构(1-3),说明:
条件语句嵌套中,如果有多个if和else子句没有用块花括号标明所属作用域,可以根据以下原则判断与else相匹配的if子句:
else子句总是与离它最近的,且没有else相匹配的if子句相匹配。
其中最后的else子句是可选的。
图4-3所描述的是ifelse分支语句结构中的一种情况,同样地,if和else子句也可以出现在if子句的块内见例4-1:
显示输出成绩信息,辽宁机电职业技术学院,DesignedByChiyong2008,例4-1:
显示输出成绩信息,publicclassTestIfpublicstaticvoidmain(Stringargs)intscore=Integer.parseInt(args0);if(score=60)if(score=70,辽宁机电职业技术学院,DesignedByChiyong2008,4.3.2switchcase分支结构(1-1),与ifelse嵌套相比,switchcase结构实现类似的分支选择显得结构十分清晰,可读性更强,如图所示。
辽宁机电职业技术学院,DesignedByChiyong2008,4.3.2switchcase分支结构(1-2),switch语句的格式:
switch(表达式)case常量表达式1:
语句序列1;break;case常量表达式2:
语句序列2;break;case常量表达式n:
语句序列n;break;default:
语句序列n+1;使用switchcase结构注意事项如下:
switch(表达式)中表达式的值只能为int、byte、short、char,不允许为long,double等长型值,也不允许是Stringcase子句表达式为常量;例4-2:
简单计算器(使用输入流完成操作数的输入),辽宁机电职业技术学院,DesignedByChiyong2008,例4-2:
简单计算器(使用输入流完成操作数的输入),importjava.io.*;publicclassCalculatorpublicstaticvoidmain(Stringargs)throwsExceptionintnum1=0,num2=0;/赋初始值0charoper=;/赋初始值为空字符System.out.println(请输入两个操作数和一个操作符);System.out.println(输入第一个操作数:
);/*使用输入流从键盘接收字符串*/BufferedReaderbr1=newBufferedReader(newInputStreamReader(System.in);num1=Integer.parseInt(br1.readLine();/将从键盘读入的字符串转换为整型数System.out.println(输入第二个操作数:
);/*使用输入流从键盘接收字符串*/BufferedReaderbr2=newBufferedReader(newInputStreamReader(System.in);num2=Integer.parseInt(br2.readLine();/将从键盘读入的字符串转换为整型数System.out.println(请输入加(+)减(-)乘(*)除(/)运算符之一:
);oper=(char)System.in.read();/将从键盘读入的整型数转换为字符,switch(oper)case+:
System.out.println(和为:
+(num1+num2);break;case-:
System.out.println(差为:
+(num1-num2);break;case*:
System.out.println(积为:
+(num1*num2);break;case/:
System.out.println(商为:
+(num1/num2);break;default:
System.out.println(未知的运算符!
);,辽宁机电职业技术学院,DesignedByChiyong2008,4.4.1循环结构概述(1-1),循环语句用于反复执行一段代码,直到满足某种条件为止。
Java语言有三种循环语句:
while、dowhile和for循环语句完整的循环结构应该包含四个组成部分:
(1)初始化部分(initialization):
用来设置循环的初始条件,如设置计数器的初始值。
(2)判断部分(estimation):
是一个关系或布尔表达式,用来判断循环是否可以继续运行的条件(3)迭代部分(iteration):
修改循环初始条件,用来控制循环的次数,如使计数器的值自增或自减。
(4)循环体部分(body):
循环中反复执行的代码。
辽宁机电职业技术学院,DesignedByChiyong2008,4.4.2while循环,while循环又称为“当型”循环,意指:
当条件成立时循环执行,,while语句的语法格式为:
while(条件判断表达式)循环体语句块;说明:
while语句首先计算条件判断表达式,若表达式值为true,则执行语句块,循环后,再对表达式进行判断,直到表达式的值为false时,停止执行语句块。
while语句中的语句块就是循环体,循环体中应当有改变表达式值的迭代语句,否则,会造成程序无限循环的情况。
而初始化循环条件的语句应当在while循环的前面设置。
辽宁机电职业技术学院,DesignedByChiyong2008,例4-3:
计算2的N次幂,ublicclassTestpublicstaticvoidmain(Stringargs)throwsExceptionintx=2;intN=1;/初始化循环变量System.out.println(输入要计算的幂数:
);intend=Integer.parseInt(newBufferedReader(newInputStreamReader(System.in).readLine();while(Nend)x*=2;/计算x=x*2N+;System.out.println(2的+N+次幂是:
+x);,辽宁机电职业技术学院,DesignedByChiyong2008,4.4.3dowhile循环,dowhile循环又称为“直到型”循环,意指:
直到条件不成立时循环才终止执行。
dowhile语句的语法格式为:
do循环体语句块;while(条件判断表达式);,说明:
1)dowhile语句先执行循环体中的语句块,再计算while后面的条件判断表达式。
因为dowhile循环先执行语句块,后进行条件判断,因此,语句块至少被执行一次。
2)若条件判断表达式为true,继续执行语句块,否则,跳出循环,执行while后面的语句。
辽宁机电职业技术学院,DesignedByChiyong2008,4.4.4for循环,如果已知循环要执行的次数,可以使用for循环,会使程序的结构更清晰。
但其实for循环可以替代其它任何类型的循环。
for语句由四部分构成,语法格式为:
for(初始化表达式;条件判断表达式;迭代表达式)循环体语句块;,说明:
初始化表达式只在循环开始时执行一次;条件判断表达式决定循环是否执行的条件,每次循环开始时计算该表达式,当表达式返回值为true时,执行循环,否则,循环结束;而迭代表达式是在每次循环结束时调用的表达式,用以改变初始化表达式中变量的值,结果返回给条件判断表达式,如条件判断表达式值为false,退出循环,否则,继续执行语句块。
因此,for循环的执行次序是:
辽宁机电职业技术学院,DesignedByChiyong2008,For循环与while循环的的关联,以上三个表达式是可选部分(但分号不能省略),如果for语句中没有这三个表达式任一个,便会产生特殊效果:
1)若省略表达式,可以在for循环之前另行书写它,效果相同;2)若省略表达式,相当于无限循环;3)若省略表达式,可以在for循环体中另行书写它,效果相同;若省略表达式,则完全等同于while语句,如求1+2+99的和:
若省略全部这三个表达式,相当于一个无限循环while(true);虽然for循环的表达式可以省略,但为了程序的可读性,最好不要这样做。
for(;i100;)sum=sum+i;i+;,while(i100)sum=sum+i;i+;,辽宁机电职业技术学院,DesignedByChiyong2008,4.5跳转语句,在分支、循环体或语句块中,可能需要根据某种情况,控制程序退出循环或跳过某些语句。
break、continue和return能实现以上功能,它们的功能简述如下:
辽宁机电职业技术学院,DesignedByChiyong2008,4.5.1break语句,例4-4:
计算19这几个整数的平方。
ublicclassTestBreakpublicstaticvoidmain(Stringargs)inti=0;while(true)/条件永远为真/循环开始i+;if(i=10)/当i超过9时,结束循环System.out.println(Ok,runbreak.);break;/执行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制 Java 语言程序设计 高职 软件 专业 课件 第四 流程 控制