版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程132Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程基本控制结构基本控制结构 计算机之所以成为当代最重要的信息处理工具,就是因为它有记忆、能进行逻辑判断、计算速度快的特点。 计算机实现的所有功能都是在指令的指挥下进行的,而指令的集合就是程序。
2、 结构化程序设计的原则及三种基本结构 原则:1自顶向下 2逐步求精 3模块化 4限制使用goto语句 Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程基本控制结构基本控制结构 除了以上的原则,结构化程序设计还有一个重要的规定,那就是只能使用“顺序结构”、“选择结构”和“循环结构”这三种基本结构来定义程序的流程。Lu Qiang, 2007Hefei University of Technology,School of Computer and
3、 Information Chapter3 程序控制流程程序控制流程基本控制结构基本控制结构 顺序结构就是按照指令的先后顺序依次执行。 为实现分支结构程序设计,JAVA语言提供了条件分支语句if和多重分支语句switch,根据它们所包含的逻辑表达式的值决定程序执行的方向。 循环结构的程序可以对反复执行的程序段进行精炼,用较少的语句执行大量重复的工作。Java提供了for 、while和do-while三种循环语句Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控
4、制流程程序控制流程132Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程分支结构分支结构 分支结构,是在两条或多条(两条以上)执行路径中选择一条执行的控制结构. If语句格式1. if(条件表达式)2.语句组;3. 括号中的条件是逻辑表达式,其值为true执行语句块1,否则直接执行if 语句的下一条语句。花括号中的多个语句被看成是一条复合语句Lu Qiang, 2007Hefei University of Technology,School
5、 of Computer and Information Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程分支结构分支结构1./本程序从命令行输入两个数据与给定的值50进行比较,2./ 若大于50则输出结果3.package chapter3;4.public class example03_01 5. public static void main(String args) 6. int x,serial,y=0;7. /读入命令行参数8.
6、 x=Integer.parseInt(args0);9. serial=Integer.parseInt(args1);10. if(x50)11. y=x*serial;12. System.out.println(y=+y); 13. 14. 程序运行结果路径 java example03_01 55 11Y=605Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Lu Qiang, 2007Hefei University of Technology,School of Com
7、puter and Information Chapter3 程序控制流程程序控制流程分支结构分支结构1./与例03_02的区别是if语句后面有花括号 2.package chapter3;3. public class example03_02 4. public static void main(String args) 5. int x,serial,y; 6. x=Integer.parseInt(args0);7. serial=Integer.parseInt(args1);12. 13. Lu Qiang, 2007Hefei University of Technology,S
8、chool of Computer and Information Chapter3 程序控制流程程序控制流程If-then-elseIfelse 语句格式1.if (条件) 2. (语句块1)3.4.Else 5. (语句块2)6.条件?语句块2语句块1truefalse 括号中的条件是逻辑表达式,括号中的条件是逻辑表达式,其值为其值为true执行语句块执行语句块1其值为其值为false 执行语句块执行语句块2 两种情况在完成各自的任务之后,于两种情况在完成各自的任务之后,于if的下的下一条语句会合。一条语句会合。Lu Qiang, 2007Hefei University of Techn
9、ology,School of Computer and Information Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程例程例程 -求三个数中的最大者求三个数中的最大者 1./给出任意三个数,通过使用if语句嵌套,将它们2./按从小到大排序3.package chapter3;4.import javax.swing.JOptionPane;5. public class example03_03 6. public static
10、void main(String args)7. String str;8. double x,y,z,t;9. str=JOptionPane.showInputDialog(请输入第一个数);10. x=Double.parseDouble(str);11. str=JOptionPane.showInputDialog(请输入第二个数);12. y=Double.parseDouble(str);13. str=JOptionPane.showInputDialog(请输入第三个数);14. z=Double.parseDouble(str);15. if (xy)16. t=x; x=
11、y; y=t;17. if (xz)18. t=x; x=z; z=t;19. 20. else20. if (yz)21. t=y; y=z; z=t;22. 23. else24. if (xz) 25. t=x;x=z;z=t;26. if (yz) 27. t=y;y=z;z=t;28. 29. 30. if (yz) 31. t=y;y=z;z=t;32. 33. System.out.println(最小值+x);34. System.out.println(中间值+y);35. System.out.println(最大值+z);36. System.exit(0);37. 38
12、. Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程Switch 语句语句1.Switch(表达式) 2. case 值1: 语句块1;3. break;4. case 值2: 语句块2;5. break;6. case 值3: 语句块3;7. break;8. 9. case 值n:
13、 语句块n;10. break;11. default:12. 语句块n+1;13. 条件语句块1语句块3语句块4语句块2Case 1 case 2Case 3 case 41. Switch 语句中的表达式的数据类型可以语句中的表达式的数据类型可以是是byte、char、short、int类型,不允许类型,不允许浮点型和浮点型和long型。型。2. 根据表达式值与根据表达式值与case语句后面的匹配情况语句后面的匹配情况决定程序执行的分支决定程序执行的分支3. 每个每个case 语句都要有语句都要有break语句语句4. 不匹配的情况执行不匹配的情况执行 default 语句语句Lu Qia
14、ng, 2007Hefei University of Technology,School of Computer and Information Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程Switch 语句之例语句之例1./通过键盘输入月份,输出相应月份的英文单词2./注意月份是在命令行中给出的3.package chapter3;4.public class example03_04 5. public static void ma
15、in(String args) 6. int month;7. month=Short.parseShort(args0);8. switch(month)9. case 1: System.out.println(January); break;10. case 2: System.out.println(February); break;11. case 3: System.out.println(March); break;12. case 4: System.out.println(April); break;13. case 5: System.out.println(May); b
16、reak;14. case 6: System.out.println(June); break;15. case 7: System.out.println(July); break;16. case 8: System.out.println(August); break;17. case 9: System.out.println(September); break;18. case 10: System.out.println(October); break;19. case 11: System.out.println(Novenber); break;20. case 12: Sy
17、stem.out.println(December); break;21. default: System.out.println(Input Number Error!);break;22. 23. Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程132Lu Qiang, 2007H
18、efei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程循环结构循环结构 循环结构是程序中一种重要的基本结构,是指: 在一定的条件下反复执行某段程序,被反复执行的这段程序称为“循环体”. Java中有三种语句来实现循环结构,分别是while,do-while和for语句.Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程while
19、语句语句 while语句的格式如下:1. while(条件表达式) 2.循环体语句;3. 在循环刚开始时,会计算一次“条件表达式”的值。 当条件为假时,将不执行循环体,直接跳转到循环体外,执行循环体外的后续语句; 当条件为真时,便执行循环体。每执行完一次循环体,都会重新计算一次条件表达式,当条件为真时,便继续执行循环体,直到条件为假才结束循环Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Lu Qiang, 2007Hefei University of Technology,Sch
20、ool of Computer and Information Chapter3 程序控制流程程序控制流程while语句之例语句之例1./WhileOp2./用while语句计算10的阶乘3.package chapter3;4.public class example03_055. public static void main(String args)6. int n=10;7. long result=1;8. while(n=1)9. result*=n-;10. System.out.println(10!=+result);11. 12.Lu Qiang, 2007Hefei Un
21、iversity of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程do-while语句语句 do-while语句的格式如下:1. do 2. 循环体语句;3. while(条件表达式) do-while循环与while循环的不同在于:它先执行循环中的语句,然后再判断条件是否为真,如果为真则继续循环如果为假,则终止循环因此,do-while循环至少要执行一次至少要执行一次循环语句Lu Qiang, 2007Hefei University of Technology,School of Computer
22、and Information Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程do-while语句之例语句之例1./DoWhileOp2./用do-while语句计算10的阶乘3.package chapter3;4.public class example03_065. public static void main(String args)6. int n=10;7. long result=1;11. System.out.print
23、ln(10!=“ + result);12. 13.Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程for语句语句 for语句是三个循环语句中功能最强,使用最广泛的一个。for语句的格式如下:1. for (表达式1;表达式2;表达式3) 2. 循环体语句;3. 表达式1一般是一个赋值语句,它用来给循环控制变量赋初值;表达式2是一个布尔类型的表达式,它决定什么时候退出循环;表达式3一般用来修改循环变量,控制变量每循环一次后按什么方式变化。三个
24、部分之间用“;”分开Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程for语句语句 for语句的执行过程:1. 在循环刚开始时,先计算表达式1,在这个过程中,一般完成的是初始化循环变量或其它变量2. 根据表达式2的值来决定是否执行循环体。表达式2是一个返回布尔值的表达式,若该值为假,将不执行循环体,并退出循环;若该值为真,将执行循环体3. 执行完一次循环体后,计算表达式3。在这个过程中一般会修改循环变量4. 转入第(2)步继续执行Lu Qia
25、ng, 2007Hefei University of Technology,School of Computer and Information Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程for语句之例语句之例1./ForLoop2./用for语句计算10的阶乘3.package chapter3;4.public class example03_07 5. public static void main(String args) 6
26、. int n;7. long result;8. for (n=10,result=1; n0; n-)9. result*=n;10. System.out.println(10!= +result);11. 12.Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程循环嵌套循环嵌套 循环嵌套是指在循环体中包含有循环语句的情况. 三种循环语句即可以自身进行嵌套,也可以相互进行嵌套构成多重循环. 多重循环自内向外展开,即先执行内循环,后执行外循
27、环。多重循环不允许相互交叉.1. /分别输出1!、2!、3!、.6! 以及它们的和2. public class example03_08 3. public static void main(String args) 4. long sum=0;5. for(int i=1;i=6;i+) 6. long m=1;7. for(int j=1;j=i;j+)8. m*=j;9. System.out.println(i+!=+m);10. sum+=m;11. 12. System.out.println(1!+2!+3!+.+6!= +sum);13. 14. Lu Qiang, 2007Hefei University of Technology,School of Computer and Information Chapter3 程序控制流程程序控制流程跳转语句跳转语句 跳转语句用来实现循环执行过程中的流程转移。在switch语句中使用过的break语句就是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度云计算服务合同:东昌府区人民政府数据处理与存储
- 初三音乐课教学计划范文
- 2024高三复习计划大全
- 2024效能监察工作计划
- 2024幼儿园大班教师春季工作计划
- 公司年度工作计划表工作安排计划表
- 十一月业务员工作计划
- 2024年小花园大班教案
- 2024年儿科护理个人工作计划范文
- 新学期八年级语文教师工作计划
- 北师大版九年级数学下册《综合与实践》教案及教学反思
- 线路防护工程施工方案
- 22秋中传媒《传播学概论》作业考核答卷
- 农业经济学知到章节答案智慧树2023年华南农业大学
- 西班牙行程单(签证)
- 丑奴儿书博山道中壁
- 2022年7月云南省普通高中学业水平考试物理含答案
- 黄金现货交易合同
- 慢性胃炎的中医治疗
- 仓库作业流程图仓库原材料与产成品的入库出库标准流程
- MSA测量系统分析手册
评论
0/150
提交评论