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

上传人:平*** 文档编号:11126972 上传时间:2017-10-11 格式:DOC 页数:11 大小:98.78KB
返回 下载 相关 举报
[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, continue3.例 外 处 理 语 句 :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 判断某一年是否为闰年。闰年的条件是符合下面二者之一 :能被 4 整除,但不能被 10 0 整除; 能被

5、 4 整除,又能被 100 整除 。 public class LeapYear public static void main( String args ) int year=1989; /method 1 if( (year%4=0 & year%100!=0) | (year%400=0) ) System.out.println(year+ is a leap year.); else System.out.println(year+ is not a leap year.); year=2000; /method 2 boolean leap; if( year%4!=0 ) lea

6、p=false; else if( year%100!=0 ) leap=true; else 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;

7、else leap=false; else leap=false; if( leap=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 则

8、通过使用大括号对 if-else 进行匹配来实现闰年的判断。大家可以根据程序来对比这三种方法,体会其中的联系和区别,在不同的场合选用适合的方法 。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 分支后,使程序跳出

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

11、 。 7.举 例 : 例 4.3.根 据 考 试 成 绩 的 等 级 打 印 出 百 分 制 分 数 段 。 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);

12、break; case C : System.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)

13、; case B : 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: /标记代码块 ab: /标记代码块 bc: /标记代码块 cbreak b; /will not be executed /will not be executed /execute from here 3.与 C、 C+不同,Java 中没有 goto 语句来实现任意的跳转,因为 goto 语句破坏程序的可读性 ,而且影响编译的优化 。 但是从上例可以看出 ,Java 用 break 来实现 goto 语句所特有的一些优点。如果 break

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

当前位置:首页 > 办公文档 > 其它办公文档

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