第三讲Java语言基础-流程控制.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 Java 语言 基础 流程 控制
- 资源描述:
-
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java,程序设计,第三讲 流程控制,2,学习目标,理解程序控制的概念,运用条件语句,使用,if,switch,来控制程序的不同执行路径,掌握,for,、,while,和,do,句型结构控制程序的循环执行,理解并能应用,break,和,continue,调整程序中的流程控制结构。,理解选择和循环的影响语句范围,理解变量的生存范围,理解并使用断言对程序进行调试,3,程序,程序表现为完成某个功能,(,目标,),而编写的指令集合。,构成程序的基本元结构是顺序、分支和循环,在整体上,程序运行是按照事先编写的指令,(,语句,),从前到后的顺序执行,但在执行的过程中,经常会遇到基于不同条件的决策来执行不同的指令,抑或重复执行事先定义的指令来达到某种目的,但总体上程序总是顺序执行的。,4,一个例子,编写一个程序,声明,3,个整型变量,用来保存,3,个学生的考试分数,计算他们的平均分,(float,类型,),并输出。,5,进一步的,如果某个学生的成绩低于,60,分,则不参与平均分计算。,6,在进一步,如果有,50,个学生的成绩已经保存在一个整型数组中,同样基于上面规则来计算这批学生的平均分。,7,3.1,句、块和空白,构成,Java,程序的最小单位是类,而类则是由属性和方法构成。方法代表了某个具体的能力,具体的一个方法就是由为完成某个功能而编写的若干条语句组成。,8,3.1.1,语句,在,Java,编程语言中,语句是一行由分号,(;),终止的代码,它是一个完整的可执行单元。例如:,totals=a+b+c+d+e+f,;,与下式相同,total=a+b+c+,d+e+f;,9,在,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,控制语句,10,3.1.2,语句块,一个块,(block),或一个复合语句是以上括号和下括号,为边界的语句集合;,块语句也被用来组合属于某个类的语句。,语句块可被嵌套。,/a block,语句,x=y+1;,y=x+1;,11,/,类声明所包含的块语句,public class MyDate,int day;,int month;,int year;,12,/,一个嵌套块语句的例子,while(i large),/,循环语句快开始,用,表示,a=a+i;,if(a=max),/,判断语句快开始,用,表示,b=b+a;,a=0;,/,判断语句块结束,用,表示,/,循环语句快结束,用,表示,13,3.1.3,空白,在源代码元素之间允许空白,空白的数量不限。空白,(,包括空格、,tabs,和新行,),可以改善源代码的视觉感受。,int x;,x=23+54;,int x,x =23 +54;,14,3.2,顺序结构,顺序结构,程序语句间最简单的结构关系是顺序结构,也就是语句是按照它们在方法中出现的先后顺序逐一被执行。,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);,15,3.3,选择结构,程序控制可以定义为对程序语句的执行顺序进行的规定。,Java,提供了条件语句在两种或更多的情况做出选择,根据情况执行不同的程序语句;,16,3.3.1,条件判断与决策,1 if,else,语句,简单的选择语句,if(,布尔表达式,),语句或块;,例如,if(score 60),System.out.println(,“,下次努力哦,!,”,);,17,3.3.1,条件判断与决策,(cont.),完整的选择语句,if(,布尔表达式,),语句或块;,else,语句或块;,例如,if,(,score 60,),System.out.println(,“,下次努力哦,!,”,);,else,System.out.println(,“,恭喜你通过考试,!,”,);,18,exp,B,A,F,T,选择结构,19,3.3.1,条件判断与决策,(cont.),嵌套的,if,else,if(,布尔表达式,1),语句或块;,else,if(,布尔表达式,2),语句或块;,else,语句或块;,20,例如,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);,26,课堂练习,(c.),指出输出结果,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);,27,课堂练习,(c.),执行下列,switch,语句后,y,是多少?,x=3;,switch(x+3),case 6:y=1;,default:y+=1;,28,课堂练习,(c.),有一个函数如下,根据指定的,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,课堂练习,(c.),编写一个程序,根据命令行参数将对应的,1,、,2,、,3,、,4,、,5,、,6,、,7,分别输出为星期一、星期二,.,星期日,如:,Java WeekDay 1,星期一,30,思考题,如何提高多分支下的程序执行效率?,31,3.4,循环,循环语句使语句或块的执行得以重复进行。,Java,编程语言支持三种循环构造类型:,for,while,和,do,循环。,for,和,while,循环是在执行循环体之前测试循环条件,do,循环是在执行完循环体之后测试循环条件。,这就意味着,for,和,while,循环可能连一次循环体都未执行,而,do,循环将至少执行一次循环体。,32,for,循环的句法是:,for(init_expr;boolean testexpr;alter_expr),statement or block,例如:,for(int i=0;i 10;i+),System.out.println(i=+i);,33,while,循环的句法:,while (,布尔表达式,),语句或块,int i=0;,while(i 10),System.out.println(i=+i);,i+;,System.out.println(Finally!);,34,do,循环的句法是:,do,语句或块;,while(,布尔测试,),int i=0;,do,System.out.println(i=+i);,i+;,while(i 10);,System.out.println(Finally!);,35,思考题,怎么决定使用哪类循环?,36,循环的嵌套,在一个循环体内又包含了另一个完整的循环结构,成为嵌套循环。如,:,while(循环条件),语句;,while(循环条件),语句;,语句;,37,3.4.4,跳转,下列语句可被用在更深层次的控制循环语句中:,break,标注;,continue,标注;,label:,语句;,Label:,被用来标识循环构造的复合语句。,break,语句被用来从,switch,语句、,for,语句等循环语句的块中退出到预先设定的,label,处。当程序运行到,break,标注处时,程序跳出整个循环体的结尾处。,continue,语句被用来略过并跳到循环体的结尾。当程序运行到,continue,标注处时,程序跳至标识外循环的下一次循环开始处继续执行。,38,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,39,课堂练习,下面的循环程序输出结果是什么?,public class ShowErrors,public static void main(String args),for(int i=0;i10;i+);,System.out.println(i+4);,40,课堂练习,(c.),编写一个程序,求出,1+2+3+,+100,的和并输出。,求出,100,200,间的所有素数。,41,用下面的方法声明,编写一个,java,方法,返回接收字符数组中连续字符块的个数:,public static int countRuns(char A),42,程序流程图,程序流程图也叫程序框图,.,程序流程图的表示以,3,种程序结构为基础。,优点,历史最悠久,使用最广泛,;,流程控制直观,容易掌握,;,至今仍广泛使用,.,缺点,可能诱导程序员过早考虑程序细节,而不是逐步求精,;,对于提高大型系统的可理解性作用不大;,程序随意转移,导致程序结构混乱,;,无法表示数据结构,.,43,起止,输入输出,处理,判断,打印输出,连接,准备,控制流,磁盘文件,换页,循环下界,循环上界,程序流程图的常用符号,:,程序流程图,(Cont.),44,Sequential,A,B,P,F,T,A,B,Selective,P,F,T,B,Call subroutine,A,盒图,(Box Diagram):Nassi&Shneiderman 1973,年提出,又称为,N-S Charts,。,Chapin 1974,年作扩充,故也称为,Chapin charts.,用方框图代替传统的流程图,;,N-S,图,45,x,4,T,F,Do-Until,x,5,i,g,h,f,k,x,1,T,F,b,Do-Until,x,6,a,j,x,2,1,c,Do-While,x,3,2,3,d,e,k,:,例:,N-S,图(,cont.,),46,3.6,变量的作用域,每个变量都有一个作用域,就是说这个变量在哪个程序段中起作用。,变量的作用域从它被声明时开始直到遇到声明变量的代码段的结束符,“,”,为止。,只能在变量的作用域内访问它。如果在作用域之外访问变量,编译器将产生一个错误。,作用域的范围,成员变量,局部变量,方法参数,47,变量的作用域,(c.),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);,48,变量的作用域,(c.),可以注意到,不同作用域内的变量互相不干扰,通常变量是当前最近作用域内定义的该变量,如果要引用更大作用域外的变量,则需要增加限定符,例如我们已经看到过的,this.,49,程序运行时的内存占用,栈区(,stack area,),堆区(,heap area,),数据区(,data area,),代码区(,code area,),存放程序的代码部分,存放程序的全局数据和静态数据,存放程序动态申请的数据,存放程序的局部数据和参数,50,public class myClass,int m=80;,void F1(int w),static int n=70;,int k=60;/,1,m+;,n+;,k+;,w+;/,2,System.out.printf(“F1()-m:%d n:%d k:%d w:%dn”,m,n,k,w);,void F2(),int m=90;,m+;/,4,F1(m);,System.out.printf(“F2()-m:%d n”,m);,public static void main(String args),int w=20;,F1(w);/,3,System.out.printf(“,下面调用,F2()n”);,F2();,k 60,w 20,w 20,未用,m 80,F1,的,n 70,main,、,F1,、,F2,代码,数据区,代码区,栈区,堆区,栈顶,F1,main,k 61,w 21,w 20,未用,m 81,F1,的,n 71,main,、,F1,、,F2,代码,数据区,代码区,栈区,堆区,栈顶,F1,main,k 61,w 21,w 20,未用,m 81,F1,的,n 71,main,、,F1,、,F2,代码,数据区,代码区,栈区,堆区,main,栈顶,k 61,m 91,w 20,未用,m 81,F1,的,n 71,main,、,F1,、,F2,代码,数据区,代码区,栈区,堆区,main,栈顶,F2,k 60,w 91,m 91,w 20,未用,m 81,F1,的,n 71,main,、,F1,、,F2,代码,数据区,代码区,栈区,堆区,main,栈顶,F2,F1,3.7,程序调试和排错,利用断言调试程序,排错的基本技巧,正向追踪,回溯法,对分查找法,归纳法,演绎法,51,作业:,P74,1,、,2,、,3,、,7,、,9,、,10,展开阅读全文

咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。
咨信网小贴示:
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】


第三讲Java语言基础-流程控制.ppt
















自信AI助手














微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14749055.html