您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第三章 java流程控制语句
第三章JAVA流程控制语句主讲教师:毛科亮本章内容语句概述•Java语言的语句分类•结构化程序设计的三种基本流程分支语句•If语句•If-else语句•Switch语句循环语句•while循环语句•do-while语句•for语句转移语句•break语句•continue语句•return语句常用的程序设计方法•枚举法、地推法、递归法•简单图形的输出格式化的输入与输出•从键盘输入数据•格式化的输出语句的概念java程序的执行遵循一定的流程,流程是程序执行的顺序。流程控制语句是控制程序中各语句执行顺序的语句,是程序中非常关键和基本的部分。流程控制语句可以把单个的语句组合成有意义的、能够完成一定功能的小逻辑块。一、Java语句概述语句与结构化程序设计在算法语言中,数据类型描述数据的性质,表达式描述对数据的运算,语句描述对数据的操作。程序由一系列语句组成。Java语言虽然是一种面向对象的计算机语言,但在一个局部,例如方法内、块语句内仍然需要面向过程的程序设计和方法。作为面向过程程序设计精华的结构化程序设计思想,仍然是面向对象程序设计方法的基石。一、Java语句概述结构化程序设计的三种基本流程:尽管现实世界的问题是复杂的、千变万化的,但与之相对应的计算机算法流程,只有三种基本结构---------顺序结构、选择结构、循环结构。每种结构都是单入口、单出口;每一部分都会被执行到;没有死循环。ABPABP循环体真假假真Java语言提供支持结构化程序设计的所有语言。一、Java语句概述Java语言提供结构化语句实现程序的流程控制。表达式语句顺序结构空语句复合语句条件语句选择语句语句开关语句switchwhile循环语句do-whileforbreak转移语句continuereturn一、Java语句概述一、Java语句概述在java语言中,语句以分号“;”为结束标志。特殊的是,块语由其他语句组成,其本身不用分号结束。内嵌有块语句并以块语句结尾的语句,也不需要用分号结尾。ava语句按性质可分为:说明性语句、操作性语句。Java语句按功能可分为:空语句、标号语句、声明语句、表达式语句、分支语句、循环语句、断言语句、跳转语句、同步语句、异常语句、块语句等。一、Java语句概述一、Java语句概述空语句:仅包含一个分号。例如:for(inti=1;i=1000;i++);标号语句:标号:语句标号的作用域是他所在的块语句,在作用域内不能够有同名的其他标号或局部变量;标号语句的作用在break、continue两条跳转语句上体现。断言语句:用于校验类的方法是否被正确调用。语法为:assert表达式1;assert表达式1:表达式2;其中,表达式1必须是boolean表达式,表达式2可以是任何类型。一、Java语句概述一、Java语句概述(Java程序通过控制语句来执行程序流,完成一定的任务。程序流是由若干个语句组成的,语句可以是单一的一条语句,如c=a+b,也可以是用大括号{}括起来的一个复合语句)。语句块可以嵌套,嵌套层数无限制–定义类时类体必须采用语句块形式–定义方法时方法体必须采用语句块的形式语句块一、Java语句概述一、Java语句概述表达式语句表达式是由运算符、操作数和函数等组成的算式。其显著特点是有返回值,即表达式的值。表达式返回值的数据类型取决于表达式的操作数和运算类型。表达式语句可分为以下几类:表达式语句:赋值表达式语句、方法调用语句、对象创建语句、变量声明语句、自增语句。一、Java语句概述一、Java语句概述分支语句实现程序流程控制的功能,即根据一定的条件有选择地执行或跳过特定的语句Java分支语句分类:★if语句★if-else语句★if-elseif语句★switch语句分支语句二、Java分支语句一、Java语句概述格式:if(表达式)语句功能:首先计算表达式,若值为真,则执行语句,否则结束执行if语句,执行if语句的后续语句。思考:inta=2;if(a3)System.out.println(a3);System.out.print(ok!);上面的执行结果是什么?IF语句二、Java分支语句一、Java语句概述classMax{publicdoublegetMax(doublea,doubleb){doublemax;max=a;if(maxb){max=b;}returnmax;}}publicclassEx3_1{publicstaticvoidmain(String[]args){Maxobj=newMax();System.out.println(max=+obj.getMax(3.14,3.1415926));}}判断两个数的最大值格式:if(表达件){语句1;}else{语句2;}功能:首先计算表达式,若值为真,则执行语句1,否则执行语句2。IF-else语句二、Java分支语句一、Java语句概述importjava.util.*;classLeap{publicbooleanisLeap(intyear){if((year%4==0)&&(year%100!=0)||(year%400==0)){returntrue;}else{returnfalse;}}}publicclassEx3_2{publicstaticvoidmain(String[]args){intyear;System.out.println(输入一个年份:);Scannerreader=newScanner(System.in);year=reader.nextInt();Leapobj=newLeap();if(obj.isLeap(year)){System.out.println(year+是闰年。);}else{System.out.println(year+不是闰年。);}}}闰年问题if(条件1){//程序代码;}elseif(条件2){//程序代码;}elseif(条件3){//程序代码;}注意:只要任何一个条件成立.程序就不会对下一个条件进行判断和再执行了。IF-elseif语句二、Java分支语句publicclassEx3_3{publicstaticvoidmain(String[]args){(newLetter()).judgeLetter();}}classLetter{publicvoidjudgeLetter(){charch;ch=(char)(java.lang.Math.random()*128);if(ch'')System.out.println(是不可显示字符!);elseif(ch='a'&&ch='z')System.out.println(ch+是小写字母!);elseif(ch='A'&&ch='Z')System.out.println(ch+是大写字母!);elseif(ch='0'&&ch='9')System.out.println(ch+是数字!);elseSystem.out.println(ch+是其他符号!);}}检查用random()方法产生的一个字符,判断是否为英文大写字母、小写字母、数字或是其他符号,并输出相应信息。IF嵌套语句if(条件1){if(条件2){//程序代码;}else{//程序代码;}else{if(条件3){//程序代码;}else{//程序代码;}}.IF嵌套语句二、Java分支语句switch(表达式){case值1:语句1;[break;]case值2:语句2;[break;]case值3:语句3;[break;]......case值N:语句N;[break;][default:语句N+1]}多分支语句switch二、Java分支语句二、Java分支语句功能:首先计算表达式的值,然后在switch语句中寻找与该表达式的值相匹配的case值。◇表达式的返回值类型必须是这几种类型一int,byte,char,short。◇case子句中的值必须是常量,而且所有case子句中的值应是不同的。◇default子句是可选的。◇break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行(在一些特殊情况下,多个不同的case值要执行一组相同的操作这时可以不用break,不写break时执行自该case开始到下一次找到break语句为止)多分支语句switch二、Java分支语句二、Java分支语句importjava.util.*;publicclassEx3_4{publicstaticvoidmain(String[]args){(newGrade()).toGrade();}}classGrade{publicvoidtoGrade(){intscore,m;Scannerreader=newScanner(System.in);System.out.println(输入成绩:);score=reader.nextInt();if(score0||score100){System.out.println(dataerror!);}else{m=score/10;switch(m){case9:case10:System.out.println(ThegradeisA.);break;case8:System.out.println(ThegradeisB.);break;case7:System.out.println(ThegradeisC.);break;case6:System.out.println(ThegradeisD.);break;default:System.out.println(ThegradeisE.);break;}}}}输入百分成绩,输出成绩等级。循环语句的作用是反复执行一段代码,直到满足终止循环的条件为止。Java语言中提供的循环语句有:◇while语句◇do-while语句◇for语句循环语句三、Java循环语句三、Java循环语句While(条件){//循环体}注意:(1)此语句是先判断条件,再确定是否执行语句或程序块。(2)条件为true时,执行循环体的语句或程序块。反之,不执行循环体。(3)在循环体中要有改变条件的语句,否则会成为死循环。while语句三、Java循环语句表达式值语句结束While语句do{//循环体;}while(条件);注意:(1)此语句是先执行一次循环体,再判断条件。(2)条件为true时,再次执行循环体的语句或程序块。(3)在循环体中要有改变条件的语句,否则会成为死循环。(4)do-while循环语句即是至少都要执行一次的。do-while语句三、Java循环语句三、Java循环语句语句表达式值结束do-While语句for(设定初始值;条件限定;修改控制变量){//程序代码;}不限定的循环(死循环)for(;;){//程序代码;}多个变量进行定义for(inti=0,j=100;ij;i++,j--){//程序代码;}For语句三、Java循环语句三、Java循环语句for(inti=0;i100;i++){for(intj=0;ji;j++){//程序块;}}注意:在我们的实际开发过程中,for循环语句使用的比较多,重点把握!For循环嵌套三、Java循环语句三、Java循环语句//输出1~100内前5个可以被3整除的数。publicclassEx3_5{publicstaticvoidmain(Stringargs[]){intnum=0,i=1;while(i=100){if(i%3==0){System.out.print(i+);num++;}if(num==5){break;}i++;}}}//输出101~200内的质数,publicclassEx3_6{publicstaticvoidmain(Stringargs[]){for(int
本文标题:第三章 java流程控制语句
链接地址:https://www.777doc.com/doc-654997 .html