Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt

上传人:b****1 文档编号:960134 上传时间:2022-10-14 格式:PPT 页数:24 大小:562.50KB
下载 相关 举报
Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt_第1页
第1页 / 共24页
Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt_第2页
第2页 / 共24页
Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt_第3页
第3页 / 共24页
Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt_第4页
第4页 / 共24页
Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt

《Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt(24页珍藏版)》请在冰豆网上搜索。

Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第四章 流程控制.ppt

第四章,流程控制,辽宁机电职业技术学院,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;/执行

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1