程序流程控制.ppt
《程序流程控制.ppt》由会员分享,可在线阅读,更多相关《程序流程控制.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于程序的流程控制关于程序的流程控制1第一张,PPT共七十页,创作于2022年6月2教学目标教学目标v熟练掌握熟练掌握JavaJava语言中的流程控制结构。语言中的流程控制结构。v掌握掌握JavaJava中选择结构的基本原理及使用方法。中选择结构的基本原理及使用方法。v掌握掌握JavaJava中循环结构的基本原理及使用方法。中循环结构的基本原理及使用方法。v熟练掌握熟练掌握JavaJava中数组的使用方法及能够熟练应中数组的使用方法及能够熟练应用。用。第二张,PPT共七十页,创作于2022年6月3教学重点教学重点v流程控制构成了编程语言的逻辑流程控制构成了编程语言的逻辑,而对这些控制语而对这些
2、控制语句的灵活运用又能有助于编程逻辑的清晰整理。句的灵活运用又能有助于编程逻辑的清晰整理。v本章首先介绍了本章首先介绍了JavaJava流程控制结构中的选择结构流程控制结构中的选择结构和循环结构,最后,介绍了跳转语句的基本原理。和循环结构,最后,介绍了跳转语句的基本原理。掌握数组的声明,生成和初始化方法。掌握数组的声明,生成和初始化方法。熟练掌握数组的使用,对于多维数据,要求学生熟练掌握数组的使用,对于多维数据,要求学生主要掌握二维数组的声明、生成、初始化、及使主要掌握二维数组的声明、生成、初始化、及使用方法。用方法。第三张,PPT共七十页,创作于2022年6月4例1 1:打印一个打印一个3x
3、43x43x43x4的矩阵的矩阵class DrawRect public static void main(String args)System.out.println(“*);System.out.println(“*);System.out.println(“*);3.1 3.1 程序的流程控制程序的流程控制 第四张,PPT共七十页,创作于2022年6月5例2 2:上一个例子的变形上一个例子的变形上一个例子的变形上一个例子的变形1.class DrawRect 2.3.public static void main(String args)4.5.System.out.print(“*)
4、;6.System.out.print(“*);7.System.out.print(“*);8.System.out.println(“*n);9.System.out.print(“*);10.System.out.print(“*);11.System.out.print(“*);12.System.out.println(“*n);13.System.out.print(“*);14.System.out.print(“*);15.System.out.print(“*);16.System.out.println(“*);17.18.问题:如何作出决策,提高程序的执行效率?问题:如何
5、作出决策,提高程序的执行效率?第五张,PPT共七十页,创作于2022年6月6分析问题找出最佳解决方案分析问题找出最佳解决方案分析问题找出最佳解决方案分析问题找出最佳解决方案v以上两种方法是初学者最容易想到的,但做了很多以上两种方法是初学者最容易想到的,但做了很多重复的工作,会使程序变得很繁琐,结构也不够清重复的工作,会使程序变得很繁琐,结构也不够清晰。在工作量少的时候似乎没那么明显,但当需要晰。在工作量少的时候似乎没那么明显,但当需要打印的矩阵比较大的时候就会显现出来(如:打印打印的矩阵比较大的时候就会显现出来(如:打印一个一个100 x60的矩阵)。的矩阵)。v想解决这个问题我们可以通过循环
6、来解决,讲到循想解决这个问题我们可以通过循环来解决,讲到循环就要先介绍一下程序的结构化设计。环就要先介绍一下程序的结构化设计。第六张,PPT共七十页,创作于2022年6月7程序设计的三种结构程序设计的三种结构v顺序结构顺序结构v循环结构循环结构v选择结构选择结构循环结构与选择结构所使用的语句又叫作循环结构与选择结构所使用的语句又叫作流程流程控制语句控制语句,作用是改变程序的执行顺序。,作用是改变程序的执行顺序。第七张,PPT共七十页,创作于2022年6月8vJava的程序控制语句分为以下几类:的程序控制语句分为以下几类:选择、循环选择、循环和跳转。和跳转。v块块(即复合语句)是指由一对花括号括
7、起来的若(即复合语句)是指由一对花括号括起来的若干条简单的干条简单的Java语句。语句。v块定义着变量的作用域(块定义着变量的作用域(scope)。一个块可以)。一个块可以嵌套在另一个块中。嵌套在另一个块中。3.1 3.1 程序的流程控制程序的流程控制第八张,PPT共七十页,创作于2022年6月93.1 3.1 程序的流程控制public static void main(String args)int a;.int b;./变量变量b的作用域只在块内,到块外便失的作用域只在块内,到块外便失去作用。去作用。.第九张,PPT共七十页,创作于2022年6月103.2 3.2 选择结构选择结构vvi
8、f if语句语句语句语句if(expression)语句语句1;语句语句2;练习:练习:NumberTest.java条件判断条件判断执行语句执行语句或代码块或代码块真真假假第十张,PPT共七十页,创作于2022年6月113.2 选择结构vif语句语句expression=true语句语句2语句块语句块语句块:用花括号括起来的语句。if(expression)statment1;statment2;语句2;左侧的语句也以下语句有什么不同?if(expression)statment1;statment2;语句2;第十一张,PPT共七十页,创作于2022年6月123.2 3.2 选择结构选择结构
9、v提示提示:合理采用缩进格式书写代码合理采用缩进格式书写代码坚持用左右大括号将坚持用左右大括号将if条件括起条件括起来的习惯,即使一条语句也括。来的习惯,即使一条语句也括。velse子句子句if(expression)statement1;elseelse statement2;statement2;next_statement;next_statement;条条件件判判断断执行语句执行语句2 2或代码块或代码块2 2假假执行语句执行语句1 1或代码块或代码块1 1真真第十二张,PPT共七十页,创作于2022年6月133.2 选择结构vif语句的嵌套形式语句的嵌套形式if()if();else
10、 ;else if();else ;z若条件若条件1成立成立,则执行哪一组则执行哪一组IF语句语句?z若条件若条件1不成立不成立,则执行哪一组则执行哪一组IF语句语句?第十三张,PPT共七十页,创作于2022年6月143.2 3.2 选择结构选择结构vif语句的嵌套形式语句的嵌套形式 if();else if();else if().else;判判断断条条件件1 1执行语句执行语句1 1或代码块或代码块1 1判判断断条条件件2 2执行语句执行语句2 2或代码块或代码块2 2.判断条件判断条件N N执行语句执行语句N N或代码块或代码块N N执行语句执行语句N+1N+1或代码块或代码块N+1N+
11、1真真真真真真假假假假假假假假第十四张,PPT共七十页,创作于2022年6月153.2 3.2 选择结构选择结构vif语句的嵌套形式语句的嵌套形式 if();else if();else if().else;z什么情况下会执行到语句什么情况下会执行到语句2,什么情况下会执行到语句什么情况下会执行到语句n?z语句语句1与语句与语句2等是否可以都执行等是否可以都执行?else总是和距总是和距它最近的它最近的if配对配对第十五张,PPT共七十页,创作于2022年6月16zswitch语句又称多分支选择语句多分支选择语句z与if-else一样,是Java语言的条件选择语句,if 语句是判断条件的值,再
12、从两个程序块中选择其中一块执行,只能出现两个分支,而switch语句可存在多个分支。z处理多种分支情况时,用switch语句代替if语句可以简化程序,使程序结构清晰明了,可读性增强。3.2.3 switch3.2.3 switch语句语句第十六张,PPT共七十页,创作于2022年6月17switch语句的一般形式为:语句的一般形式为:switch()case:;break;case:;break;.case:;break;default:;产生的结果值可以是产生的结果值可以是char型型,byte型型,short型型,int型或枚型或枚举型。举型。不加不加break语句,执行流语句,执行流程如
13、何?程如何?若条件值与若条件值与case值均不匹配,而又没有值均不匹配,而又没有此句,执行流程如何?此句,执行流程如何?3.2.3 switch3.2.3 switch语句语句第十七张,PPT共七十页,创作于2022年6月18 switch()case:case:case:;break;.case:;break;default:;执行流程如何?执行流程如何?实例:实例:SwitchSample.javaSwitchSample.java3.2.3 switch3.2.3 switch语句语句第十八张,PPT共七十页,创作于2022年6月19vfor语句的一般形式为:语句的一般形式为:for(;
14、)v其中:其中:初始化部分设置控制循环的变量的初值。初始化部分设置控制循环的变量的初值。条件判断部分可以是任何布尔表达式。条件判断部分可以是任何布尔表达式。迭代因子控制循环变量递增或递减。迭代因子控制循环变量递增或递减。3.3.1 3.3.1 循环循环-for-for第十九张,PPT共七十页,创作于2022年6月20vfor语句的执行过程为:语句的执行过程为:执行初始化。执行初始化。判断条件的返回值。如果为真执行循环体语句;判断条件的返回值。如果为真执行循环体语句;如果为假就跳出如果为假就跳出for语句循环。语句循环。执行迭代因子,为下次循环做准备。执行迭代因子,为下次循环做准备。返回返回。v
15、for语句是先执行语句是先执行,即先判断后执行,如果不,即先判断后执行,如果不满足判断条件,满足判断条件,循环体可能一次都不能执行。循环体可能一次都不能执行。3.3.1 3.3.1 循环循环-for-for第二十张,PPT共七十页,创作于2022年6月21forfor循环流程图实例:实例:ForTick.java doubleFor.java前续代码及循环控前续代码及循环控制变量的定义制变量的定义循环体中的程序循环体中的程序循环控制条件循环控制条件TrueTrueFalseFalse后续代码后续代码步长变量的改变步长变量的改变第二十一张,PPT共七十页,创作于2022年6月流程图进程进程判断判
16、断输入输输入输出出起始符起始符NYYN开始开始结束结束int i=0i3?i+i4?j+int j=0打印打印*号号打印换行打印换行符号符号第二十二张,PPT共七十页,创作于2022年6月23zcollection-based for循环循环z采用采用for语句的基本格式语句的基本格式z在在for循环语句的圆括号之间的第一个控制表达式循环语句的圆括号之间的第一个控制表达式中是循环变量,然后以中是循环变量,然后以冒号冒号分隔,第二个控制表达分隔,第二个控制表达式,确定了第一个控制表达式中声明的变量的取值式,确定了第一个控制表达式中声明的变量的取值来源的集合。来源的集合。程序:程序:Average
17、Grade.java3.3.1 3.3.1 循环循环-for-for第二十三张,PPT共七十页,创作于2022年6月24while语句的一般形式为:语句的一般形式为:while();实例:实例:NumAdd.java3.3.3 3.3.3 循环循环-while-while终止条件?终止条件?执行循环体执行循环体假假初始化初始化执行步长部分执行步长部分真真第二十四张,PPT共七十页,创作于2022年6月25vwhile语句的执行过程为:语句的执行过程为:初始化,为循环设置初始值。初始化,为循环设置初始值。判断条件表达式的值,如果为真,就执行循环体语判断条件表达式的值,如果为真,就执行循环体语句;
18、如果条件表达式的值为假,就跳出句;如果条件表达式的值为假,就跳出while语句。语句。执行迭代部分,为下次循环做准备。执行迭代部分,为下次循环做准备。返回返回。vwhile语句是先执行语句是先执行,即先判断后执行,如果不满足判断,即先判断后执行,如果不满足判断条件,循环体可能一次都不能执行。条件,循环体可能一次都不能执行。注意,在循环体中应该有注意,在循环体中应该有使循环趋于结束的语句,否则循环将永远进行下去,形成死循环。使循环趋于结束的语句,否则循环将永远进行下去,形成死循环。3.3.3 3.3.3 循环循环-while-while第二十五张,PPT共七十页,创作于2022年6月26whil
19、ewhile循环循环的流程图的流程图前续代码及循环控前续代码及循环控制变量的定义制变量的定义循环体中的程序循环体中的程序循环控制条件循环控制条件TrueFalse后续代码后续代码实例:实例:AverageGrade2.java第二十六张,PPT共七十页,创作于2022年6月27 for for循环与循环与whilewhile循环的比较循环的比较vfor循环比循环比while循环结构清晰。循环结构清晰。1.for循环的循环控制变量的定义、初始化,选换循环的循环控制变量的定义、初始化,选换结束的条件,步长变量的控制都在一条语句中实结束的条件,步长变量的控制都在一条语句中实现。现。2.while循环
20、的循环控制变量是在循环之前定义的,循环的循环控制变量是在循环之前定义的,循环控制条件与循环控制条件与for相同,而步长变量是在循环相同,而步长变量是在循环体内部修改的。体内部修改的。v有时候用有时候用while实现会方便很多。例如在程序中将在实现会方便很多。例如在程序中将在110之间产生一个随机数,当产生的数字为之间产生一个随机数,当产生的数字为7的时候打印的时候打印一个提示语句并结束程序,否则继续执行直到产生的数一个提示语句并结束程序,否则继续执行直到产生的数字为字为7。第二十七张,PPT共七十页,创作于2022年6月28zwhile语句先判断后执行语句先判断后执行,while语句为语句为“
21、当型当型“循环循环zdo-while语句先执行后判断,循环体至少被执语句先执行后判断,循环体至少被执行一次行一次,称称do-while语句为语句为”直到型直到型“循环。循环。3.3.5 3.3.5 循环循环-do-while-do-while第二十八张,PPT共七十页,创作于2022年6月29do-while语句的一般形式为语句的一般形式为:do ;while();注意:这里注意:这里while()后面有一个()后面有一个“;”3.3.5 3.3.5 循环循环-do-while-do-while终止条件?终止条件?执行循环体执行循环体假假初始化初始化执行步长部分执行步长部分真真第二十九张,PP
22、T共七十页,创作于2022年6月30vdo-while语句的执行过程为:语句的执行过程为:初始化,为循环设置初始值。初始化,为循环设置初始值。执行循环体语句。执行循环体语句。执行跌代部分,为下次循环做准备。执行跌代部分,为下次循环做准备。判断条件表达式的值,如果为真,就返回判断条件表达式的值,如果为真,就返回;如果条件表达式的值为假,就跳出如果条件表达式的值为假,就跳出do-while语句。语句。vdo-while语句是先执行循环体,再判断,循环体语句是先执行循环体,再判断,循环体至少被执行一次。同样,在循环体中应该有使循至少被执行一次。同样,在循环体中应该有使循环趋于结束的语句。环趋于结束的
23、语句。3.3.5 3.3.5 3.3.5 3.3.5 循环循环循环循环-do-while-do-while第三十张,PPT共七十页,创作于2022年6月31do whiledo while循环循环流程图流程图程序见:程序见:IntTurn.java前续代码及循环控前续代码及循环控制变量的定义制变量的定义循环体中的程序循环体中的程序循环控制条件循环控制条件TrueTrueFalseFalse第三十一张,PPT共七十页,创作于2022年6月32z嵌套循环:嵌套循环:用户可以将任何一种循环嵌入到另一用户可以将任何一种循环嵌入到另一种循环中,并且可以进行任意多重的嵌套。种循环中,并且可以进行任意多重的
24、嵌套。例题:计算从例题:计算从1开始到给定数值之间所有整数的乘积。开始到给定数值之间所有整数的乘积。程序见:程序见:Factorial.java3.3 3.3 循环循环第三十二张,PPT共七十页,创作于2022年6月33z功能:功能:结束本循环,跳到循环语句之后的第一条语结束本循环,跳到循环语句之后的第一条语句处执行。句处执行。例题:例题:BreakLoop1.javaz带标号的带标号的break语句:语句:允许程序跳转至有标号的外允许程序跳转至有标号的外层块或循环之后的语句处继续执行,而不管这些嵌套层块或循环之后的语句处继续执行,而不管这些嵌套块有多少层。块有多少层。程序见:程序见:Brea
25、kLoop2.java3.4 3.4 跳转语句跳转语句 -break-break第三十三张,PPT共七十页,创作于2022年6月34z功能:结束本次循环,进入下一次循环,例如:功能:结束本次循环,进入下一次循环,例如:for(int i=1;i=limit;i+)if(i%3=0)continue;sum+=i;3.4.2 continue3.4.2 continue第三十四张,PPT共七十页,创作于2022年6月35z功能:可以停止执行内循环,并且可以直接跳转至功能:可以停止执行内循环,并且可以直接跳转至包含本循环的外循环的下一轮迭代的起始处继续执行。包含本循环的外循环的下一轮迭代的起始处继
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 流程 控制
限制150内