当前位置:文档之家› 流程控制结构

流程控制结构

流程控制结构Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】(单元教案首页)单元标题第3章流程控制结构教学时数:()学时,其中理论()学时、实验()学时、上机()其它()学时,其它是指:教学目的与要求:1.理解程序的的三大控制结构。

2.掌握选择结构实现语句的用法编程应用3.掌握循环结构实现语句的用法及其编程应用。

4.理解并掌握各种跳转语句的使用方法。

主要教学内容:1.程序的控制结构:顺序、选择、循环。

2.选择结构语句:if语句(两种格式)和switch语句、程序举例。

3.循环结构语句:for语句、while、语句、do-while语句、三种循环语句的互相转化、程序举例。

4.控制结构跳转语句:break语句、continue语句、return语句教学重点与难点:重点:if语句、switch语句、for语句、while语句、do-while语句难点: switch语句、选择结构编程应用、循环结构编程应用、跳转语句的编程应用课后作业:1.课本P66 综合练习三:第一题~第四题2.上机实习:实习3:Java流程控制课后体会:兰州资源环境职业技术学院教师授课教案——————————————————————第3章流程控制结构一、本章主要内容:本章主要讲述Java程序的基本控制结构和控制语句,使得学生能利用这三种结构来解决一些比较复杂的问题。

Java程序的基本控制结构有三种:顺序结构、选择结构、循环结构。

二、具体授课内容:概述选择结构循环结构跳转语句三、本章授课思路:1. 回顾C语言中结构化程序设计方法所所用的程序三大控制结构(顺序结构、选择结构、循环结构)语法知识,以复习回顾的方式引入讲解Java语言的程序控制结构知识(和 C语言用法一致),学生易于理解记忆。

2.具体讲解选择结构(if、switch)和循环结构语法(while、for、do-while)及其编程用法的典型程序编写举例,使学生理解掌握Java语言中控制结构的使用特点及编程技巧。

将两种输入数据的编程方法融入到控制结构用法的编程举例的程序中,使学生对输入数据方法的能够有一定的理解掌握和编程使用,结合在后续第4章面向对象的程序设计的方法的具体学习中再加强理解和掌握。

4.课堂上通过练习和讲解第3章课后习题,加强和巩固学生对所学知识的理解和掌握使用。

——————————————————————流程控制结构概述引例:要编写Java程序,首先要了解Java程序的结构。

例如:一个程序模拟用户从银行账户中取钱的业务过程。

public class demo {/** Creates a new instance of demo */public demo() { }public static void main(String args[]){double account ;double withdraw ;int count=0; );}}}说明:一个完整的Java程序包括主类、主函数、变量、常量声明语句、赋值语句、程序主体功能语句、控制语句以及注释语句等。

该程序中,有两个重要的语句结构,如:(1)(2)If() while(){ … } { … }{ … }程序结构组成:这两种语句结构为本章要讲的选择结构和循环结构。

这两种语句结构和顺序结构共同构成Java语言的基本语法结构。

顺序结构是最简单的程序结构,如图3-1所示。

选择结构一、If语句形式1else 语句的形式为:if(条件判断){ 语句A ; }[ else{ 语句B ; } ]2.举例:例如,下面程序判断a,b值的大小:if (a>b)else Array例如:if (a>0)) ;3.简化的if分支语句形式:if (条件判断){ 语句A ; }流程图:它表达的逻辑关系如右图3-3所示。

二、if语句形式21.引入:很多情况下,两个分支选择并不够用,有时需要多分支结构。

多分支选择的逻辑结构如图3-4所示。

说明:对于这种多分支选择结构,也可以用if else语句来表达。

将上面的逻辑结构图转化为if else结构的多分支选择逻辑结构,如图3-5所示。

2.嵌套的if else语句的多分支选择结构⑴格式:if (判断A1)语句A1;else{ if(判断A2)语句A2;else{if(判断A3)语句A3;else{……}}}⑵简化格式:if (判断A1)语句A1;else if(判断A2)语句A2;else if(判断A3)语句A3;……[ else语句; ]⑶编程用法举例:例如:表3-1学生成绩等级划分分析:用嵌套的if-else语句解决。

程序如下:int score=90;if (score>=90)else if(score>=80)else if(score>=70)else if(score>=60)else三、switch 语句内容引入:对于图3-4所示的分支选择结构,无论有多少个分支,理论上说都可以使用嵌套的if else语句表达。

但是,if else语句的嵌套层次太多容易造成程序结构不清晰。

Java程序允许使用一种专门的多分支选择语句——switch语句来表达这种多分支结构,这简化了多分支结构的表达,使程序简明易懂。

语句的具体格式为:switch(整型或者字符型变量){case n1 :语句1;break;case n2 :语句2;break;case n3 :语句3;break;……case nn :语句n;break;[ default :语句n+1; ]}2.执行过程为:(1)求出switch括号内整型变量的值。

(2)将其值顺序地和……比较,如果整型变量值和某个n值相等,程序就转到这个n后面的语句开始执行,遇到break语句则跳出整个switch语句。

(3)如果整型变量值和任何n值都不等,则执行default后面的语句,最后跳出switch结构。

(4)default 子句可有可无。

3.格式说明:⑴switch 语句括号里面的类型只能是整数,或者是其他和整型兼容的数据类型(如char类型),不能是其他的数据类型(如String类型)。

⑵case后面只能是一个整型数据,不能是一个“>=”、“<”等符号的一个范围。

4.应用举例—成绩等级的问题。

行过程:量……,进行句;接着修改循环变量的值,测试循环变新一轮的循环。

循环的逻辑结构如右图3-6所示。

4.编程举例:求解1+2+3+…+100的累加和。

【例程3-2 】public class ForDemo {public ForDemo() { }public static void main(String args[]){int sum = 0;int i;行过程:当测试循环条件满足时,则执行循环体;否则退出循环体。

3.逻辑结构如图3-7所示。

4.编程举例:求解1+2+3+…+100的累加和。

public class WhileDemo { public WhileDemo() { }public static void main(String args[]) {int sum = 0; int i; i=1; 行过程:执行循环体,直至测试循环条件不满足时退出循环体。

3.流程图:逻辑结构如图3-8所示。

4.程序举例:i=1; do{sum=sum+i; i++; }while(i<=100); 四、for 和while 的转化For 语句和while 语句都可以用于设计循环程序结构,而且它们之间是可以相互转化的:用for 做得到的事情,用while 也能做到;用while 能做到的事情,用for 也能够实现。

例如程序1:sum= 0 ;for(j=1; j<= 100; j++ ) { sum+= j; } 可以转化为:j=1 ; sum=0 ;while(j<=100){ sum +=j ; j++ ; } 例如程序2:while(j<10 && i>23 || m<100){ 语句; }等价于:for( ; j<10 && i>23 || m<100 ;){ 语句; }说明:要设计出好的程序,形式不是最重要的,重要的是程序设计者能将逻辑思维通过合理的形式表达出来。

五、循环结构应用举例(3个例子)1.打印菱形图形×××××××××××××分析:该问题需要使用两层循环结构来实现。

外循环处理每行,内循环处理具体某列。

程序如下:[例程3-3]public class DrawPic {public DrawPic() { }public static void main(String[] args){ int I,j;for(i=1; i<=5; i++) 印出1000以内的所有完全立方数。

(如:1=13,8=23)[例程3-4]public class cube {public cube() { }public static void main(String[] args){int n =1;自然对数的底e的值,利用公式e=(1+1/n)n(其中n趋于无穷大),要求达到较好的精度。

说明:Math类常用数值运算方法——— x y = pow(x,y)public static double pow(double x,double y), 即:x y[例程3-5]import .*;public class CalE {public CalE() { }public static void main(String[] args) {double now ; double next ;double value ; int count ;value = 1E-20; 式:break;2.作用:跳出break语句所在的控制结构,转到该控制结构后继续执行。

在switch结构中,break的作用就是跳出switch整个结构。

在循环语句中,break语句的作用就是跳出循环。

当使用多层循环的时候,break 语句只跳出当前这一层循环(内循环),而不能跳出整个循环。

3.程序举例:计算:1+2+3+…+100的值,例如程序如下。

int sum=0;int n=1;while(true){ if(n>100) break;Sum+=n;n++;}"1+2+3+…+100="+sum);二、continue语句continue也是一个使用在循环语句里面的跳转语句。

相关主题