Java程序设计-4-流程控制

上传人:gb****c 文档编号:243133583 上传时间:2024-09-16 格式:PPT 页数:46 大小:345KB
返回 下载 相关 举报
Java程序设计-4-流程控制_第1页
第1页 / 共46页
Java程序设计-4-流程控制_第2页
第2页 / 共46页
Java程序设计-4-流程控制_第3页
第3页 / 共46页
点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章 流程控制,1,理解程序控制的概念,运用条件语句,使用,if, switch,来控制程序的不同执行路径,掌握,for,、,while,和,do,句型结构控制程序的循环执行,理解并能应用,break,和,continue,调整程序中的流程控制结构。,理解分支和循环的影响语句范围,理解变量的生存范围,理解并使用断言对程序进行调试,2,程序表现为完成某个功能,(,目标,),而编写的指令集合。,构成程序的基本元结构是顺序、分支和循环,在整体上,程序运行是按照事先编写的指令,(,语句,),从前到后的顺序执行,但在执行的过程中,经常会遇到基于不同条件的决策来执行不同的指令,抑或重复执行事先定义的指令来达到某种目的,但总体上程序总是顺序执行的。,3,编写一个程序,声明,3,个整型变量,用来保存,3,个学生的考试分数,计算他们的平均分,(float,类型,),并输出。,4,进一步的,如果某个学生的成绩低于,60,分,则不参与平均分计算。,5,在进一步,如果有,50,个学生的成绩已经保存在一个整型数组中,同样基于上面规则来计算这批学生的平均分。,6,构成,Java,程序的最小单位是类,而类则是由属性和方法构成。方法代表了某个具体的能力,具体的一个方法就是由为完成某个功能而编写的若干条语句组成。,7,在,Java,编程语言中,语句是一行由分号,(;),终止的代码,它是一个完整的可执行单元。例如:,totals = a + b + c + d + e + f,;,与下式相同,total = a + b + c +,d + e + f;,8,在,Java,中,主要有以下的语句类型,声明语句,int a=0; /,声明了一个整型变量,Student stu;/,声明了一个类型是,Student,的对象,表达式语句,赋值表达式,自增表达式、方法调用、对象创建都可以和分号一起构成,“,表达式语句,”,System.out.println(,“,Welcome,”,); /,输出字符串,a=Math.abs(-3.1); /,返回绝对值,value=100; /,为变量赋值,a+; /a,自增,Student stu = new Student(,“,张华,”,); /,创建一个,Student,类的实例,实例引用名为,stu,控制语句,9,一个块,(block),或一个复合语句是以上括号和下括号, ,为边界的语句集合;,块语句也被用来组合属于某个类的语句。,语句块可被嵌套。,/ a block,语句,x = y + 1;,y = x + 1;,10,/,类声明所包含的块语句,public class MyDate ,int day;,int month;,int year;,11,/,一个嵌套块语句的例子,while ( i large ) /,循环语句快开始,用,表示,a = a + i;,if ( a = max ) /,判断语句快开始,用,表示,b = b + a;,a = 0;, /,判断语句块结束,用,表示, /,循环语句快结束,用,表示,12,在源代码元素之间允许空白,空白的数量不限。空白,(,包括空格、,tabs,和新行,),可以改善源代码的视觉感受。,int x;,x = 23 + 54;,int x,x = 23 + 54;,13,顺序结构,程序语句间最简单的结构关系是顺序结构,也就是语句是按照它们在方法中出现的先后顺序逐一被执行。,public class Swap ,public static void main(String args) ,int a=10,b=20;,int t=0;,t=a;,a=b;,b=t;,System.out.println(a=+a);,System.out.println(b=+b);,14,程序控制可以定义为对程序语句的执行顺序进行的规定。,Java,提供了条件语句在两种或更多的情况做出选择,根据情况执行不同的程序语句;,15,1 if, else,语句,简单的单分支语句,if (,布尔表达式,),语句或块;,例如,if( score 60 ),System.out.println(,“,下次努力哦,!,”,);,16,简单的双分支语句,if (,布尔表达式,),语句或块;,else,语句或块;,例如,if,(,score 60,),System.out.println(,“,下次努力哦,!,”,);,else,System.out.println(,“,恭喜你通过考试,!,”,);,17,exp,B,A,F,T,选择结构,18,嵌套的,if ,else,if (,布尔表达式,1),语句或块;,else if(,布尔表达式,2),语句或块;,else,语句或块;,19,例如,if (score 60),System.out.println(“下次努力哦!”);,else if(score 2),if ( y 2),int z = x + y;,System.out.println(“z is ” + z);, else,System.out.println(“x is ” + x);,21,2 switch,语句,switch,语句允许程序员更多情况下选择不同的程序逻辑,当情况发生时,按照事先准备好的方法执行。,switch,语句的句法是:,switch (expr1),case expr2:,statements;,break;,case expr3:,statements;,break;,default:,statements;,22,char gender;/性别,.,switch(gender),case F:,case f:,System.out.println(”女性“);,break;,case M:,case m:,System.out.println(”男性“);,break;,23,表达式的类型,在,switch (expr1),语句中,,expr1,必须与,int,类型是赋值兼容的;,byte, short,或,char,类型可被升级;不允许使用浮点或,long,表达式。,从,7,开始,增加了,String,类型。,在,switch (expr1),语句中,,expr1,也可以是枚举类型,public enum Month JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER ,break,break,的作用是停止,switch,的执行,退出,执行,switch,代码段后的程序。,如果没有,break,语句作为某一个,case,代码段的结束句,则程序的执行将继续到下一个,case,,而不检查,case,表达式的值。,24,T,A1,F,exp=1,T,A2,F,exp=2,T,An,F,exp=n,多分支结构,25,指出输出结果,x = 2;,y = 3;,if( x 2),if ( y 2),int z = x + y;,System.out.println(“z is ” + z);, else,System.out.println(“x is ” + x);,26,执行下列,switch,语句后,y,是多少?,x = 3;,switch (x + 3),case 6: y =1;,default: y + = 1;,27,本质是一种特殊匹配,变量或表达式的值不能与任何,case,值相匹配时,可选缺省符(,default,)指出了应该执行的程序代码。,位置,default,语句一般在,switch,语句的最后。,注意,如果匹配到了,default,,并且,default,后还有其他的,case,,则继续执行,且忽略是否匹配,28,有一个函数如下,根据指定的,x,,输出,y,值,y=,X x1,2X-1 1= x=10,写出程序,根据给出的百分制成绩,输出成绩等级,A,、,B,、,C,、,D,、,E,90,分以上为,A,,,80,89,为,B,,,70,79,为,C,,,60,69,为,D,,,60,分以下为,E,。,29,编写一个程序,根据命令行参数将对应的,mon,、,tue,、,wed,、,thu,、,fri,、,sat,、,sun,分别输出为星期一、星期二,.,星期日,如:,Java WeekDay mon,星期一,30,如何提高多分支下的程序执行效率?,31,循环语句使语句或块的执行得以重复进行。,Java,编程语言支持三种循环构造类型:,for, while,和,do,循环。,for,和,while,循环是在执行循环体之前测试循环条件,do,循环是在执行完循环体之后测试循环条件。,这就意味着,for,和,while,循环可能连一次循环体都未执行, 而,do,循环将至少执行一次循环体。,32,F,S,T,exp,直到型循环,当型循环,T,exp,S,F,33,for,循环的句法是:,for (init_expr; boolean testexpr; alter_expr),statement or block,例如:,for (int i = 0; i 10; i+) ,System.out.println(i = +i);,34,while,循环的句法:,while (,布尔表达式,),语句或块,int i = 0;,while (i 10) ,System.out.println(i = + i);,i+;,System.out.println(Finally!);,35,do,循环的句法是:,do,语句或块;,while (,布尔测试,),int i = 0;,do ,System.out.println(i = +i);,i+;, while (i 10);,System.out.println(Finally!);,36,怎么决定使用哪类循环?,37,在一个循环体内又包含了另一个完整的循环结构,成为嵌套循环。如,:,while(循环条件),语句;,while (循环条件),语句;,语句;,38,下列语句可被用在更深层次的控制循环语句中:,break,标注;,continue,标注;,label:,语句;,Label:,被用来标识循环构造的复合语句。,break,语句,被用来从,switch,语句、,for,语句等循环语句的块中退出到预先设定的,label,处。当程序运行到,break,标注处时,程序跳出整个循环体的结尾处。,continue,语句,被用来略过并跳到循环体的结尾。当程序运行到,continue,标注处时,程序跳至标识外循环的下一次循环开始处继续执行。,39,loop: while (true) ,for (int i=0; i 100; i+) ,switch (c = System.in.read() ,case -1:,case n :,/ 跳到最后处,break loop;,., / end for, / end while,40,下面的循环程序输出结果是什么?,public class ShowErrors,public static void main(String args),for(int i=0;i10;i+);,System.out.println(i+4);,41,编写一个程序,求出,1+2+3+,+100,的和并输出。,求出,100,200,间的所有素数。,42,用下面的方法声明,编写一个,java,方法,返回接收字符数组中连续字符块的个数:,public static int countRuns( char A ),43,每个变量都有一个作用域,就是说这个变量在哪个程序段中起作用。,变量的作用域从它被声明时开始直到遇到声明变量的代码段的结束符,“,”,为止。,只能在变量的作用域内访问它。如果在作用域之外访问变量,编译器将产生一个错误。,作用域的范围,成员变量,局部变量,方法参数,44,public class VariableScope ,public static void main(String args) ,int i=10;,int k=10;,System.out.println(i=+i);,System.out.println(k=+k);,System.out.println(i=+i);,System.out.println(k=+k);,45,可以注意到,不同作用域内的变量互相不干扰,通常变量是当前最近作用域内定义的该变量,如果要引用更大作用域外的变量,则需要增加限定符,例如我们已经看到过的,this.,46,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!