[java入门学习]第 4 章 流控制

上传人:woxinch****an2018 文档编号:39309642 上传时间:2018-05-14 格式:DOC 页数:11 大小:98.50KB
返回 下载 相关 举报
[java入门学习]第 4 章 流控制_第1页
第1页 / 共11页
[java入门学习]第 4 章 流控制_第2页
第2页 / 共11页
[java入门学习]第 4 章 流控制_第3页
第3页 / 共11页
[java入门学习]第 4 章 流控制_第4页
第4页 / 共11页
[java入门学习]第 4 章 流控制_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《[java入门学习]第 4 章 流控制》由会员分享,可在线阅读,更多相关《[java入门学习]第 4 章 流控制(11页珍藏版)》请在金锄头文库上搜索。

1、第第 4 章章 流控制流控制与 C、 C+相同,Java 程序通过流制来执行程序流 ,完成一定的任务 。程序流是由若干 个语句组成的。语句可以是单一的一条语句(如 c=a+b),也可以是用大括号括起来的一个 复合语句。下面我们分别来介绍 Java 中 的 流 控 制 语 句 ,包括: 1.分 支 语 句 :if-else, break, switch, return. 2.循 环 语 句 :while, do-while, for, continue 3.例 外 处 理 语 句 :try-catch-finally, throw 最后我们简单介绍一下注释语句。4.1 分支语句分支语句分支语句提

2、供了一种控制机制,使得程序的执行可以跳过某些语句不执行,而转去执行特 定的语句 。 4.1.1 条件语句条件语句 if-else. if-else 语句根据判定条件的真假来执行两种操作中的一种, 它的格式为: if(boolean-expression) statement1; else statement2; 1.布尔表达式 boolean-expression 是任意一个返回布尔型数据的表达式 (这比 C、 C+的限 制要严格 )。 2.每个单一的语句后都必须有分号 。 3.语句 statement1,statement2 可 以为复合语句 ,这时要用大括号 括起。 建议对单一的语 句 也

3、用大括号括起,这样程序的可读性强 ,而且有利于程序的扩充 (可以在其中填加新的语 句)。 外面不加分号 。 4.else 子句是任选的 。 5.若布尔表达式的值为 true,则程序执行 statement1,否则执行 statement2。 6.if-else 语句的一种特殊形式为 : if(expression1) statement1 else if (expression2) statement2 else if (expressionM) statementM Else statementN else 子句不能单独作为语句使用,它必须和 if 配对使用。else 总是与离它最近的 if

4、 配对。可 以通过使用大括号来改变配对关系。 7.举例: 例 4.1 比较两个数的大小,并按从小到大的次序输出。 public class CompareTwo public static void main( String args ) double d1=23.4; double d2=35.1; if(d2=d1) System.out.println(d2+“ = “+d1); else System.out.println(d1+“ = “+d2); 运行结果为: C:java CompareTwo 35.1 = 23.4 例 4.2 判断某一年是否为闰年。 闰年的条件是符合下面二者

5、之一 :能被 4 整除,但不能被 10 0 整除;能被 4 整除,又能被 100 整除 。 public class LeapYear public static void main( String args ) int year=1989; /method 1 if( (year%4=0 else System.out.println(year+“ is not a leap year.“); year=2000; /method 2 boolean leap; if( year%4!=0 ) leap=false; else if( year%100!=0 ) leap=true; els

6、e if( year%400!=0 ) leap=false; else leap=true; if( leap=true ) System.out.println(year+“ is a leap year.“); else System.out.println(year+“ is not a leap year.“); year=2050; /method3 if( year%4=0) if( year%100=0 ) if( year%400=0) leap=true; else leap=false; else leap=false; else leap=false; if( leap

7、=true ) System.out.println(year+“ is a leap year.“); else System.out.println(year+“ is not a leap year.“); 运行结果为 C:java LeapYear 1989 is not a leap year. 2000 is a leap year. 2050 is not a leap year. 该例中方法 1 用一个逻辑表达式包含了所有的闰年条件,方法 2 使用了 if-else 语句的 特 殊 形式,方法 3 则通过使用大括号对 if-else 进行匹配来实现闰年的判断。大家可以根据程序

8、来对比这三种方法,体会其中的联系和区别,在不同的场合选用适合的方法 。4.1.2 多多 分分 支支 语语 句句 switch switch 语句根据表达式的值来执行多个操作中的一个,它的一般格式如下 : switch (expression) case value1 : statement1; break; case value2 : statement2; break; case valueN : statemendN; break; default : defaultStatement; 1.表达式 expression 可以返回任一简单类型的值(如整型、 实型、 字符型 ),多分支语句把

9、表 达式返回的与每个 case 子句中的值相比。 如果匹配成功,则执行该 case 子句后的语序列 。 2.case 子句中的值 valueI 必须是常量,而且所有 case 子句中的值应是不同的 。 3.default 子句是任选的。 当表达式的值与任一 case 子句中的值都不匹配时 ,程序执行 default 后面的语句。如果表达式的值与任一 case 子句中的值都不匹配且没有 default 子句 , 则程序不作任何操作,而是直接跳出 switch 语句。 4.break 语句用来在执行完一个 case 分支后,使程序跳出 switch 语句,即终止 switch 语句的执 行。因为

10、case 子句只是起到一个标号的作用,用来查找匹配的入口并从此处开始执行 ,对后 面 的 case 子句不再进行匹配,而是直接执行其后的语句序列, 因此应该在每个 case 分支后, 要用 break 来终止后面的 case 分支语句的执行。 在一些特殊情况下,多个不同的 case 值要 执行一组相同的操作,这时可以不用 break。 5.case 分支中包括多个执行语句时,可以不用大括号 括起 。 6.switch 语句的功能可以用 if-else 来实现,但在某些情况下,使用 switch 语句更简炼,可读性强,而 且程序的执行效率提高 。 7.举 例 : 例 4.3.根 据 考 试 成

11、绩 的 等 级 打 印 出 百 分 制 分 数 段 。 public class GradeLevel public static void main( String args ) System.out.println(“n* first situation *“); char grade=C; /normal use switch( grade ) case A : System.out.println(grade+“ is 85100“); break; case B : System.out.println(grade+“ is 7084“); break; case C : Syste

12、m.out.println(grade+“ is 6069“); break; case D : System.out.println(grade+“ is 60“); break; default : System.out.println(“input error“); System.out.println(“n* second situation *“); grade=A; creat error without break statement switch( grade ) case A : System.out.println(grade+“ is 85100“); case B :

13、System.out.println(grade+“ is 7084“); case C : System.out.println(grade+“ is 6069“); case D : System.out.println(grade+“ is 60“); default : System.out.println(“input error“); System.out.println(“n* third situation *“); grade=B; several case with same operation switch( grade ) case A : case B : case

14、C : System.out.println(grade+“ is =60“); break; case D : System.out.println(grade+“ is 60“); break; default : System.out.println(“input error“); 运行结果为 C:java GradeLevel * first situation * C is 6069 * second situation * A is 85100 A is 7084 A is 6069 A is 60 input error * third situation * B is =60

15、从 该 例 中 我 们 可 以 看 到 break 语 句 的 作 用 。 4.1.3 break 语句语句1.在 switch 语中,break 语句用来终止 switch 语句的执行。 使程序从 switch 语句后的第一个 语句开始执行 。 2.在 Java 中,可以为每个代码块加一个括号,一个代码块通常是用大括号 括起来的一段代 码。加标号的格式如下 : BlockLabel: codeBlock break 语句的第二种使用情况就是跳出它所指定的块 ,并从紧跟该块的第一条语句处执 行 。其格式为 : break BlockLabel; 例如: a: /标记代码块 a b: /标记代码块 b c: /标记代码块 c break b; /will not be executed /will not be executed /execute from here 3.与 C、 C+不同,Java 中没有 goto 语句来实现任意的跳转,因为 goto 语句

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号