您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第3章 程序流程控制语句
Java实用教程第3章程序流程控制语句第3章程序流程控制语句3.1分支语句3.2循环语句3.3跳转语句3.1分支语句分支语句就是对语句中不同条件的值进行判断,从而根据不同的条件执行不同的语句。Java语言的分支语句有以下两种。条件语句switch开关语句条件语句条件语句可分为以下3种形式:(1)简单的if条件语句(2)if-else条件语句(3)if-elseif多分支条件语句3.1.1简单的if条件语句简单的if条件语句就是对某种条件做出相应的处理。通常表现为“如果满足某种情况,那么就进行某种处理”。它的一般形式为:例如:如果今天下雨,我们就不出去玩。条件语句为:if(表达式){语句序列}if(今天下雨){我们就不出去玩}简单的if条件语句表达式是必要参数。其值可以由多个表达式组成,但是其最后结果一定是boolean类型,也就是其结果只能是true或false。语句序列是可选参数。包含一条或多条语句,当表达式的值为true时执行这些语句。如果该语句只有一条语句,大括号也可以省略不写。下面的代码都是正确的。if(今天下雨);if(今天下雨)我们就不出去玩;简单的if条件语句如图所示,if条件语句,在条件表达式的结果为true时,将执行语句序列。【例3-1】使用if语句求出c的最终结果。3.1.2if...else条件语句if…else条件语句也是条件语句的一种最通用的形式。else是可选的。通常表现为“如果满足某种条件,就做某种处理,否则做另一种处理”。它的一般形式为:if(表达式){语句序列1}else{语句序列2}if...else条件语句语句序列1是可选参数。由一条或多条语句组成,当表达式的值为true时执行这些语句。语句序列2也是可选参数。包含一条或多条语句,当表达式的值为false时执行这些语句。例如:如果指定年为闰年,二月份为29天,否则二月份为28天。条件语句为:if(今年是闰年){二月份为29天}else{二月份为28天}if...else条件语句如图所示,if…else语句在表达式的值为true时,执行语句序列1,否则,执行语句序列2。【例3-2】用if…else语句判断69与29的大小3.1.3if...elseif多分支语句if…elseif多分支语句用于针对某一事件的多种情况进行处理。通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件才执行另一种处理”。它的一般形式为:if(表达式1){语句序列1}elseif(表达式2){语句序列2}else{语句序列n}if...elseif多分支语句语句序列1在表达式1的值为true时被执行,语句序列2在表达式2的值为true时被执行,语句序列n在表达式1的值为false,表达式2的值也为false时被执行。if…elseif多分支语句执行过程如下图所示。if...elseif多分支语句例如:如果今天是星期一,上数学课;如果今天是星期二,上语文课;否则上自习。条件语句为:if(今天是星期一){上数学课}elseif(今天是星期二){上语文课}else{上自习}3.1.4if语句的嵌套if语句的嵌套就是在if语句中又包含一个或多个if语句。这样的语句一般都用在比较复杂的分支语句中。它的一般形式为右侧的语句格式。在嵌套的语句中最好不要省略大括号。以提高代码的可读性。【例3-3】if(表达式1){if(表达式2){语句序列1}else{语句序列2}}else{if(表达式3){语句序列3}else{语句序列4}}3.1.4if语句的嵌套【例3-3】判断英语78分是处在什么阶段。条件为:成绩大于或等于90为优,成绩在75-90为良,成绩在60-75为及格,成绩小于60为不及格。3.1.5switch多分支语句switch(表达式){case常量表达式1:语句序列1[break;]case常量表达式2:语句序列2[break;]……case常量表达式n:语句序列n[break;]default:语句序列n+1[break;]}switch语句是多分支的开关语句。根据表达式的值来执行输出的语句。这样的语句一般用于多条件多值的分支语句中。右侧是它的语法格式:break用于结束switch语句。switch多分支语句switch语句中表达式的值必须是整型或字符型。即int、short、byte和char型。Switch会根据表达式的值,执行符合常量表达式的语句序列。当表达式的值没有匹配的常量表达式时,则执行default定义的语句序列,即“语句序列n+1”。default是可选参数,如果没有该参数,并且所有常量值与表达式的值不匹配,那么switch语句就不会进行任何操作。该语句执行流程如右图所示【例3-4】3.1.6if语句和switch语句的区别if语句和switch语句可以从使用的效率上来进行区别,也可以从实用性角度去区分。如果从使用的效率上进行区分,在对同一个变量的不同值作条件判断时,使用switch语句的效率相对更高一些,尤其是判断的分支越多越明显。如果从语句的实用性的角度去区分,那switch语句肯定不如if语句。if语句是应用最广泛和最实用的语句。3.2循环语句循环语句就是重复执行某段程序代码,直到满足特定条件为止。在Java语言中循环语句有以下3种形式:for循环语句while循环语句do-while循环语句3.2.1for循环语句for语句是最常用的循环语句,一般用在循环次数已知的情况下。它的一般形式为:for(初始化语句;循环条件;迭代语句){语句序列}3.2.1for循环语句初始化语句用于初始化循环体变量。循环条件用于判断是否继续执行循环体。其只能是true或false。迭代语句用于改变循环条件的语句。语句序列称为循环体,当循环条件的结果为true时,将重复执行。for循环语句for循环语句的流程首先执行初始化语句,然后判断循环条件,当循环条件为true时,就执行一次循环体,最后执行迭代语句,改变循环变量的值。这样就结束了一轮的循环。接下来进行下一次循环(不包括初始化语句),直到循环条件的值为false时,才结束循环。for循环语句执行过程如图所示。【例3-5】用for循环语句实现打印1~10的所有整数。3.2.2while循环语句while语句是用一个表达式来控制循环的语句。它的一般形式为:表达式用于判断是否执行循环,它的值只能是true或false。当循环开始时,首先会执行表达式,如果表达式的值为true,则会执行语句序列,也就是循环体。当到达循环体的末尾时,会再次检测表达式,直到表达式的值为false,结束循环。while(表达式){语句序列}while循环语句while语句执行过程如图所示。【例3-6】计算1~99的整数和do...while循环语句do..while循环语句称为后测试循环语句,它利用一个条件来控制是否要继续重复执行这个语句。它的一般形式为:do…while循环语句的执行过程与while循环语句有所区别。do…while循环至少被执行一次,它先执行循环体的语句序列,然后再判断是否继续执行。do{语句序列}while(表达式);do...while循环语句do…while循环执行语句如图所示。【例3-7】计算1~100的整数和。3.2.4循环的嵌套循环的嵌套就是在一个循环体内又包含另一个完整的循环结构,而在这个完整的循环体内还可以嵌套其他的循环循结构。循环嵌套很复杂,在for语句、while语句和do…while语句中都可以嵌套。常用的嵌套循环包括:3.2.4循环的嵌套常用的嵌套循环包括:for循环语句的嵌套while循环语句嵌套do…while循环语句嵌套for循环语句与while循环语句嵌套while循环语句与for循环语句嵌套do…while循环语句与for循环语句嵌套作业:【例3-8】打印九九乘法表。【例3-9】求100以内能被3和7整除的数。3.3跳转语句Java语言中支持的跳转语句包括:break跳转语句continue跳转语句return跳转语句。3.3.1break跳转语句break语句可以终止循环或其他控制结构。它在for,while或do…while循环中,用于强行终止循环。只要执行到break语句,就会终止循环体的执行。break不仅在循环语句里适用,在switch多分支语句里也适用。【例3-10】求10以内的素数。3.3.2continue跳转语句continue语句应用在for,while和do...while等循环语句中,如果在某次循环体的执行中执行了continue语句,那么本次循环就结束,即不再执行本次循环中continue语句后面的语句,而进行下一次循环。【例3-11】求100以内被9整除的数。3.3.3return跳转语句return语句可以从一个方法返回,并把控制权交给调用它的语句。return语句通常被放在方法的最后,用于退出当前方法并返回一个值。它的语法格式为:return[表达式];表达式是可选参数,表示要返回的值。它的数据类型必须同方法声明中的返回值类型一致。例如:编写返回a和b两数相加之和的方法可以使用如下代码:如果方法没有返回值,可以省略return关键字的表达式,使方法结束。代码如下:publicintset(inta,intb){returnsum=a+b;}publicvoidset(inta,intb){sum=a+b;return;}实验题目1、分别用if-else、switch结构实现成绩分类,90分以上为优秀,80分以上为良好,70分以上为中等,60分以上为及格,60分以下为不及格。2、分别用while、do-while、FOR循环结构实现输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身。实验拓展题目1、编程、打印下列图形。ABCDEFGABCDEFGABCDEFGABBBCDEFGABCDEFGABCCCCCDEFGABCDEFGABCDDDDDDDEFGABCDEFGABCDEEEEEFGABCDEFGABCDEFFFGABCDEFGABCDEFGABCDEFG实验拓展题目2、输入两个正整数M、N,求其的最大公约数和最小公倍数。3、谁做的好事:有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。A说:不是我。B说:是C。C说:是D。D说:C胡说。已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,编程输出做了好事的人的编号。
本文标题:第3章 程序流程控制语句
链接地址:https://www.777doc.com/doc-4049296 .html