欢迎来到天天文库
浏览记录
ID:58699796
大小:306.00 KB
页数:61页
时间:2020-10-04
《第5章_基本控制结构与实现ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java面向对象程序设计(第二版)第5章基本控制结构与实现教学内容选择结构程序设计循环结构程序设计控制转移语句递归算法及其应用教学目标理解程序控制结构根据程序需要设计合理的布尔表达式掌握选择语句和循环语句的语法结构应用选择语句、循环语句实现选择结构、循环结构的程序设计掌握break语句、continue语句和return语句实现程序执行流程的转移具备初步描述算法的能力5.1引例(一)例5.1计算任意两个整数的乘积。分析:要计算任意两个整数的乘积,需要从键盘输入两个整数。从键盘输入数据的方法很多,此程序中应用Java输入输出流中的Buffer
2、edReader及InputStreamReader类声明并创建字符输入流对象,应用readLine()方法获得一个字符串,要使用Integer类中的parseInt方法将字符串转换为整型。关于Java输入输出流的详细应用请参考第10章。程序源代码如下:例5.1程序源代码例5.1程序说明以上Java程序是按照书写的顺序,从第一条语句顺序执行到最后一条语句。这种R程序结构称之为“顺序结构”。不是所有的问题都能通过顺序执行解决的,例如有这样的问题:判断某个学生的成绩是否及格?首先要设定一个及格分数线(假定60分是及格分数线),如果某个学生的成绩
3、大于或等于60分,则该学生成绩及格,否则不及格,这类问题采用选择结构可以解决。在许多实际问题中,经常遇到具有规律性的重复运算,因此在程序设计中就需要将某些语句重复执行,这种重复处理的过程采用另一种重要的基本结构——循环结构可以实现。5.1引例(二)例5.2编写程序,判断某个学生的成绩是否及格分析:上述问题实际分两种情况:及格或不及格,应用选择结构中的if…else语句可以解决此类问题。设计if布尔表达式score>=60,若其值为true,则成绩及格,否则成绩不及格。程序源代码如下:例5.2程序源代码程序运行结果如下:67.0及格!5.1引
4、例(三)例5.3计算s=1+2+3+…+10。分析:上述问题可以用迭代方法实现,迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。如s=0+1,s=1+2,s=3+3,s=6+4…,这里,我们总是用前一次计算的和s作为下一次的一个加数进行累加,那么,在程序中是否要使用10个表达式来求和呢?显然是不可取的,可以在程序设计中用一种循环结构来实现这种重复操作。以下程序中,应用循环语句中的for(inti=1;i<=10;i++)控制i的值分别取1、2、3、…、10,i的值每变化一次,都执行语句s=s+i;执行10次,每次总是用前一次的值s与
5、i累加。程序源代码如下:例5.3程序源代码程序运行结果如下:1+2+3+...+10=55程序总结以上案例中分别应用了程序设计中的三种基本结构:顺序结构、选择结构和循环结构。在解决具体问题时,通常采用选择语句、循环语句实现上述三种结构的程序设计,实现相应的算法。顺序结构程序的执行完全按照程序书写顺序执行,是最简单的一种基本结构。在前面的章节中,程序的结构采用的基本上是顺序结构,下面将详细介绍选择结构和循环结构的编程方法。5.2选择语句选择语句用于判断给定的条件是否满足(条件值为true或false),以决定执行某个分支程序段。Java有几种
6、类型的选择语句:单分支if语句、双分支if…else语句、嵌套if语句、if…elseif语句、多分支switch语句等。5.2.1单分支if语句单分支if语句格式如下:if(布尔表达式){语句块;}程序执行流程图如图5-1所示。执行过程是,如果布尔表达式值为true,则执行语句块,否则,不执行语句块,程序执行流程转移到if后面的语句。如:if(x>0)y=1;表示当x>0的值为true时,执行语句“y=1;”。布尔表达式语句块语句truefalse说明(1)布尔表达式可以是布尔类型的常量、变量、关系表达式或逻辑表达式等,如果是其他类型,则
7、编译出错。布尔表达式必须写在()中(2)语句块的语句可以是Java中的任何语句,若只有一条语句,可以省略{},若为复合语句,则必须使用{}说明(续)例如,定义intx=-5;,在以下两个程序段中,x>0的值为false,if语句块均不执行。程序段一inty=0;if(x>0)y=1;System.out.println("y="+y);程序段二inty=0;if(x>0){y=1;System.out.println("y="+y);}在程序段一中,单语句y=1;为if语句块,该语句不执行;y的值仍然为0,跳出if语句后执行输出语句,输出结
8、果为:y=0在程序段二中没有输出结果,{y=1;System.out.println("y="+y);}为if语句块,输出语句不执行。单分支if语句示例例5.4从键盘输入一个整数
此文档下载收益归作者所有