第四章 流程控制 ppt课件_第1页
第四章 流程控制 ppt课件_第2页
第四章 流程控制 ppt课件_第3页
第四章 流程控制 ppt课件_第4页
第四章 流程控制 ppt课件_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系第四章第四章 流程控制流程控制n4.1 语句和复合语句n4.2 顺序构造n4.3 分支构造n4.4 循环构造n4.5 循环构造中的跳转语句Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系public class JavaDemo10public static void main(String args)/*String str1 = Hello, ;String str2 = World! ;String str3 = str1 + str2 ;System.out.println(st

2、r3) ;*/int i = 10 ;int j = 20 ;/ 一切的数据都会自动向字符串转型System.out.println(i + j = +i+j) ;提问提问Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.1 4.1 语句和复合语句语句和复合语句p语句可以是以分号“;结尾的简单语句。p也可以是用一对花括号“括起来的复合语句。pSystem.out.println(“Hello World);px=a+8;py=x0 ? x : -x;ps=TextBox1.getText();pa=Integer.parseInt(s);Java2 程序设计基础

3、程序设计基础 信息学院计算机技术系信息学院计算机技术系4.1 4.1 语句和复合语句语句和复合语句p一个复合语句可以嵌套另一个复合语句。pJava不允许在两个嵌套的复合语句内声明两个同名的变量。p如:如下面的代码在编译时将会出错。p public static void main(String args )p int a;p p p int b;p int a; /错误,因变量a前面已定义p p p p Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.1 4.1 语句和复合语句语句和复合语句p 另外在程序设计过程中经常要用到注释语句。Java允许在源程序文件中

4、添加注释(comment),以添加程序的可读性,系统不会对注释的内容进展编译。Java有三种方式的注释。p 1单行注释: /单行注释 p 2多行注释: /*单行或多行注释 p */ p 3文件注释:/* 文件注释 p */ p Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.2 4.2 顺序构造顺序构造顺序构造是最简单的流程控制构造。顺序构培育是程序从上到下一行一行执行的构造,中间没有判别和跳转,直到程序终了。 如图4.1所示的即为构造化程序设计中的顺序流程控制构造。 Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.2 4.2

5、 顺序构造顺序构造语句1图4.1 顺序构造语句2Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.3 4.3 分支构造分支构造p分支构造又称为选择构造,是一种在两种以上的多条执行途径中选择一条执行的控制构造,这里所说的执行途径是指一组语句。p 通常分支构造要先做一个判别,根据判别的结果来决议选择哪一条执行途径。Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.3.1 4.3.1 分支构造分支构造 第一种运用的格式为双路条件选择,其格式如下:if (if (条件表达式条件表达式) ) 语句序列语句序列elseelse 语句序列语句序

6、列 Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系双路条件选择其程序控制构造如图4.2所示。 图4.2 双路条件选择构造FT条件语句序列2语句序列1Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.3.1 4.3.1 分支构造分支构造2.第二种运用的格式为单路条件选择,其格式如下:if (if (条件表达式条件表达式) ) 语句序列语句序列Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系单路条件选择其程序控制构造如图4.3所示。 FT条件语句序列图4.3 单路条件选择构造Java2 程序设计基础程序设

7、计基础 信息学院计算机技术系信息学院计算机技术系4.3.1 4.3.1 分支构造分支构造【例4.1】找出三个整数中的最大值和最小值/app4_1.java if语句的运用public class app4_1 public static void main(String args) int a=1,b=2,c=3,max,min; if(ab) max=a; else max=b; if(cmax) max=c; System.out.println(“Max=+max); min=ab ? a : b; min=csweight*1.1)|(weight=90) grade=A; else

8、if (testscore=80) grade=B; else if (testscore=70) grade=C; else if (testscore=60) grade=D; else grade=E; System.out.println(“评定成果为:+ grade); Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系补充:if语句的嵌套p当if语句中又包含假设干个if语句时,那么构成了if 语句嵌套的情形。if(表达式表达式1) if(表达式表达式2) 语句序列语句序列1 ; else 语句序列语句序列2 ; else if(表达式表达式3) 语句序列

9、语句序列3 ; else 语句序列语句序列4 ;即当即当if语句中语句中else语句中的执行语句又是语句中的执行语句又是if语句时,语句时,那么构成了那么构成了if 语句嵌套的情形。采用嵌套构造本质上是语句嵌套的情形。采用嵌套构造本质上是为了进展多分支选择为了进展多分支选择. p表现方式:内嵌的if语句内嵌的else语句留意:当采用省略else方式时,要留意 if 和 else 的配对规那么。用else 与前面最接近它且未配对的if 配对。Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系课堂提问课堂提问if(a!=b)if(ab) System.out.print

10、ln(AB);else System.out.println(Ab) System.out.println(AB); else System.out.println(AB);Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系小结小结 1.if 1.if语句有语句有3 3种构造。种构造。 2.if2.if语句也可以嵌套,内嵌的语句也可以嵌套,内嵌的ifif语句最好包括语句最好包括elseelse语语句,由于句,由于elseelse语句总是与它上面最接近的语句总是与它上面最接近的ifif语句配对。语句配对。 3.3.在普通情况下尽量少运用在普通情况下尽量少运用ifif语

11、句的嵌套构造。语句的嵌套构造。 Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系1:由一函数:由一函数 -1 x0)y=编一程序,输入一个编一程序,输入一个x值,输出值,输出y值值作业作业算法:算法: 输入输入 x 假设假设x0 y=-1 否那么:否那么: 假设假设x=0 y=0 否那么:否那么: y=1 输出输出 yJava2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系作业续作业续2.P72 习题13.实现断定闰年的程序。Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.3.24.3.2switch swi

12、tch 选择语句选择语句在 多 重 条 件 选 择 的 情 况 下 , 可 以 运 用在 多 重 条 件 选 择 的 情 况 下 , 可 以 运 用if if else else 构造来实现,但是,运用多分构造来实现,但是,运用多分支开关语句会使程序更为精练、明晰。支开关语句会使程序更为精练、明晰。switchswitch语句就语句就是多分支的开关语句,常用于多重条件选择。是多分支的开关语句,常用于多重条件选择。 Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.3.2switch4.3.2switch语句语句s witchs witch语句是一个多分支选择语句

13、,也叫开关语句。语句是一个多分支选择语句,也叫开关语句。switchswitch变量称号或表达式变量称号或表达式 case case 符合数字或字符符合数字或字符: : 语句块语句块1 1; break; break; case case 符合数字或字符符合数字或字符: : 语句块语句块2 2; break; break; default: default: 语句块语句块3 3; Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系public class JavaDemo07public class JavaDemo07 public static void mai

14、n(String args)public static void main(String args) char c = a ;char c = a ;switch(c)switch(c) case a:case a:System.out.println(System.out.println(条件条件1 1满足。满足。) ;) ;/ / 表示退出表示退出switchswitch语句语句break ;break ;case b:case b:System.out.println(System.out.println(条件条件2 2满足。满足。) ;) ;break ;break ;case c:c

15、ase c:System.out.println(System.out.println(条件条件3 3满足。满足。) ;) ;break ;break ;default:default: / / 假设一切条件都不满足了,那么执行假设一切条件都不满足了,那么执行defaultdefault语句语句System.out.println(System.out.println(没有任何条件满足。没有任何条件满足。) ;) ; Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系例:假设用例:假设用0 0、1 1、2.62.6分别表示星期日、星期一分别表示星期日、星期一.星期星

16、期六。现输入一个数字,输出对应的星期几的英文单词。假设输入六。现输入一个数字,输出对应的星期几的英文单词。假设输入3 3,输出,输出“WednesdayWednesday。 Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系作业作业给出一百分制成果,要求输出成果等级:90 分以上为 A 等,8089 分为 B 等,7079 分为 C 等,6069 分为 D 等,60 分以下为 E 等。留意分数段的表示方法,用switch语句实现该功能。Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系 4.4 循环构造循环构造循环构造是在一定条件下,反复

17、执行某段程序的控制构造,被反复执行的语句序列称为循环体。在Java言语中循环构造是由循环语句来实现的。Java中的循环语句共有三种:while语句、do-while语句和for语句。Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系 4.4.1 while语句语句while语句的普通语法构造如下: while (条件表达式) 循环体Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系循环体可以是单个语句,也可以是复合语句块。while语句的执行过程是先判别条件表达式的值,假设为真,那么执行循环体,循环体执行完之后,再转向到条件表达式重新计算

18、与判别条件表达式;直到当计算出的条件表达式为假时,跳过循环体执行while语句后面的语句,循环终止。 4.4.1 while语句语句Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系while语句的循环执行过程如图4.5所示。TF图4.5 while循环语句的流程条件表达式循环体Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系public class TestWhile1public static void main(String args) /循环控制变量赋初始值 /循环条件/循环体含改动循环控制变量值的语句用whie语句编程实现输出

19、20个*Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系课堂练习:用whie语句编程实现输出他名字的十遍。Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系public class TestWhile3public static void main(String args) /循环控制变量赋初始值 /循环条件/循环体含改动循环控制变量值的语句用whie语句编程实现123100Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系计算Fibonacci序列的前16项。Fibonacci序列的通项公式为:310212

20、1nfffffnnnJava2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系/ app4_4.java while语句的运用public class App4_4 public static void main (String args) final int MAX=15; /定义常量MAX=15 int i=0,j=1,k=1; while(k=MAX) System.out.print ( +i+ +j); i=i+j; /计算Fibonacci序列中的下一个数 j=i+j; /计算Fibonacci序列中的下一个数 k=k+2; /用于改动循环的条件表达式的值 Sy

21、stem.out.println(); 【例【例4.4】续】续计算Fibonacci序列的前16项。Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系程序运转结果:0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 【例【例4.4】续】续 4.4.1 while语句语句Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系 4.4.2 do-while语句语句do-while语句的普通语法构造如下:do 循环体while (条件表达式);/留意此处;号不能少Java2 程序设计基础程序设计基础 信息学院计

22、算机技术系信息学院计算机技术系do-whiledo-while循环语句的构造如图循环语句的构造如图4.64.6所示。所示。 FT图4.6do-while循环语句的流程条件表达式循环体Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系public class TestDoWhile1public static void main(String args) 用do whie语句编程实现123100Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系while 和 do-while 循环的比较int i=11;while ( i = 10 )s

23、+ = i ; i + + ; i=11;dos + = i ; i + + ;while ( i = 10 );Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系小结小结1.循环构造用于描画一些反复执行的语句。2.循环的执行过程。3.常见的循环包括3部分:循环开场的条件,例如:num=1循环的条件,例如:num6改动循环的条件,例如:num+4.留意while和do while的区别Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系作业:作业:1.计算并输出1-3+5-7+-99+101的值2.从键盘读入一整数nn = 10,计算n的阶

24、乘n!n! = 1 2 3 n,并将结果输出。 3.打印出一切的“水仙花数。 “水仙花数是指一个3位数,其各位数字立方之和等于其数本身。例如,153是一个“水仙花数,由于153135333 。Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.4.3 for4.4.3 for循环语句循环语句for循环语句的根本运用格式如下:for(表达式,条件表达式,表达式2) 循环体Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系forfor循环语句的执行过程如图循环语句的执行过程如图4.74.7所示。所示。FT图4.7 for循环构造的流程条件表

25、达式表达式1循环体表达式2Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系求1到10的累加和。本例演示了for语句的两种运用方法。public class TestFor1 public static void main(String args) int i,n=10,s=0; for(i=1;i1;i-) /从10到1进展累加求和 s+=i; System.out.print (i+); /输出数i和加号“+ System.out.println(i+=+(s+i); /输出结果 该程序的执行结果如下:该程序的执行结果如下:Sum=1+10=55Sum=1+10

26、=55Sum=10+9+8+7+6+5+4+3+2+1=55Sum=10+9+8+7+6+5+4+3+2+1=55Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.4.4 4.4.4 多重循环多重循环假设循环语句的循环体内又有循环语句,那么称多重循环,也称循环嵌套。常用的有二重循环和三重循环。在实现手段上即可以是一样循环语句嵌套,也可以两个不同的循环构成嵌套构造。下面举例阐明。 Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系真真真真外循环初始条件外循环初始条件内循环初始条件内循环初始条件内循环体内循环体外循环条件外循环条件假假内循

27、环条件内循环条件假假内循环循环条件内循环循环条件外循环循外循环循环条件环条件循环终了循环终了二重二重循环循环嵌套嵌套构造构造执行执行流程流程 Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系导入双重循环:输出如以下图形,如何编程实现导入双重循环:输出如以下图形,如何编程实现Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系public class DoubleLoop1 public static void main(String args ) for(int i=1;i=7;i+) /外循环用来控制行数 for(int k=1;k=i

28、;k+) /内循环用来每行1的个数 System.out.print(1); System.out.println(); Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系素数是指除1和本身外,不能被其他数整除的数。显然最小的素数是2,其他偶数均不是素数。对于一个奇数k,运用3 之间的每个整数进展测试,假设找到一个整数j能除尽k,那么k不是素数;而只需测试完3 范围中的一切整数都不能除尽k,才干确定k是素数。程序如下:kkk求求100以内的素数。以内的素数。Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系 /app4_12.java 循

29、环嵌套的运用循环嵌套的运用public class app4_12 public static void main(String args) final int MAX=100; /定义常量定义常量MAX=100 int j,k,n; System.out.println(“2+MAX+之间的一切素数为:之间的一切素数为::); System.out.print(“2t); /2是第一个素数,不需测试直是第一个素数,不需测试直接输出接输出 n=1; /n累计素数的个数累计素数的个数 k=3; /k是被测试的数,从最小奇数是被测试的数,从最小奇数3开场测试,一切偶开场测试,一切偶数不需测试数不需

30、测试 do /外层循环,从外层循环,从3到到100进展素数测试进展素数测试 j=3; /用用j去除待测试的数去除待测试的数 Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系 while(jMath.sqrt(k) & (k % j!=0) /内层循环内层循环 j+; /假设假设jMath.sqrt(k) System.out.print(k+“t); n+; if (n%10=0) System.out.println( ); /每行输出每行输出10个数个数 k=k+2; /测试下一个奇数测试下一个奇数 while(kMAX); System.out.pr

31、intln(“n共有【共有【+n+ 】个素数】个素数 ); Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系程序运转结果如下:程序运转结果如下:2 2100100之间的一切素数为:之间的一切素数为:2 3 5 7 11 13 17 19 23 292 3 5 7 11 13 17 19 23 2931 37 41 43 47 53 59 61 67 7131 37 41 43 47 53 59 61 67 7173 79 83 89 9773 79 83 89 97共有【共有【2525】个素数】个素数【例【例4.10】续】续Java2 程序设计基础程序设计基础 信

32、息学院计算机技术系信息学院计算机技术系课堂练习:打印如以下图案课堂练习:打印如以下图案* * * * *Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系提问:提问: * * * *打印如以下图左的图案:需在图右的根底上如何修正?打印如以下图左的图案:需在图右的根底上如何修正? * * * *Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系小结:三种构造的转化关系:三种构造的转化关系:do 语句语句while(表达式表达式);表达式表达式1;While(表达式表达式2) 语句语句 表达式表达式3;for(表达式表达式1;表达式;表达式2

33、;表达式;表达式3)语句语句语句语句while(表达式表达式) 语句语句Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系小结:小结:选择三种循环的普通思绪:选择三种循环的普通思绪:假设循环次数知,用假设循环次数知,用for假设循环次数未知,用假设循环次数未知,用while假设循环体至少要执行一次,用假设循环体至少要执行一次,用do-while只是思绪,不是定律只是思绪,不是定律Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系三种构造的转化关系举例:三种构造的转化关系举例:i=1;do printf(“i=%dn,i); i+;whil

34、e(i5);i=1;while(i5) printf(“i=%dn,i); i+;for(i=1;i5;i+) printf(“i=%dn,i);i=1;while(i5) printf(“i=%dn,i); i+;Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系作业:作业:1.1.课本课本P73P73的第六题的第六题2.2.课本课本P73P73的第七题的第七题3.3.求求1!+2!+10!1!+2!+10!4. 4. 打印输出九九乘法表。打印输出九九乘法表。5.5.有一分数序列有一分数序列2/1,3/2,5/3,8/5,13/82/1,3/2,5/3,8/5,1

35、3/8求出这个数列的求出这个数列的前前2020项之和。项之和。,132181358352312Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系作业:作业:选做计票器。假设一次选举中有选做计票器。假设一次选举中有3名候选人,名候选人,20人投票人投票1人人1票,且只能选择票,且只能选择1名候选人请用循环名候选人请用循环构造实现一个计票器,统计每名候选人的得票数。在构造实现一个计票器,统计每名候选人的得票数。在程序设计中,可以思索给候选人编号为程序设计中,可以思索给候选人编号为1、2、3,投,投票时输入相应数字那么表示投了该候选人票时输入相应数字那么表示投了该候选人1

36、票,假设输票,假设输入的数字不为入的数字不为1/2/3,那么表示是无效票,不予统计。,那么表示是无效票,不予统计。 Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系1.“百马百担问题:有100匹马,驮100担货:大马驮3担,中马驮2担,两匹小马驮一担,问有大、中、小马各多少?2.从3个红球,5个白球,6个黑球中恣意取出8个作为一组,进展输出。在每组中,可以没有黑球,但必需求有红球和白球。 编写程序,输出一切能够的组合。Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.5 循环中的跳转语句循环中的跳转语句循环中的跳转语句可以实现循环执

37、行过循环中的跳转语句可以实现循环执行过程中的流程转移。在程中的流程转移。在switchswitch语句中,我们所语句中,我们所运用过的运用过的breakbreak语句就是一种跳转语句。为语句就是一种跳转语句。为了提高程序的可靠性和可读性,了提高程序的可靠性和可读性,JavaJava言语不言语不支持无条件跳转的支持无条件跳转的gotogoto语句,但是语句,但是JavaJava言语言语提供了三种无条件转移语句:提供了三种无条件转移语句:returnreturn,breakbreak和和continuecontinue。 Java2 程序设计基础程序设计基础 信息学院计算机技术系信息学院计算机技术系4.5.1 break4.5.1 break语句语句breakb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论