二级Java重点难点分析:流程控制和异常处理[1]
时间:2007-07-23 来源:大学生计算机等级考试 打印本文
例7.1.1 给出下面程序段
if(x>0)
{
System.out.println(" Hello. ");
}
else
if(x>-3)
{
System.out.println("Nice to meet you! ");
}
Else
{
System.out.println("How are you? ");
}
若打印字符串"How are you? ",则x的取值范围是( )。
A.x>0 B.x>-3 C.x<=-3 D.x<=0&x>-3
答案:C
1.1.2 考点2:多分支语句
多分支语句switch根据表达式的值从多个分支中选择一个来执行,它的一般格式为:
switch(expression){
case value1: statement1;
break;
case value2:statement2;
break;
…
case valuen:statementn;
break;
[default:defaultStatement;]
}
对switch语句的说明如下:
(1)表达式expression只能返回这几种类型的值:int、short和char。多分支语句把表达式返回的值依次与每个case子句中的值相比较。如果遇到匹配的值,则执行该case子句后的语句序列。
(2)case子句中的值value1~valuen必须是常量,而且所有子句的值应是不同的。
(3)default子句是任选的。当表达式的值与任一case子句中的值都不匹配时,程序执行default后面的语句;如果表达式的值与任一case子句的值都不匹配且没有default子句,则程序不做任何操作,而是直接跳出switch语句。
(4)break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行。因为case子句只是起到一个标号的作用,用来查找匹配的入口并从此处开始执行。如果没有break语句,当程序执行完匹配的case语句序列后,后面的case子句起不到跳出switch语句的作用,这样,程序还会继续执行后面的case语句序列,一般说来这是不允许的,除非编程人员有自己独特的考虑。因此,应该在每个case分支后,用break语句终止后面的case分支语句序列的执行。在一些特殊情况下,多个相邻的case分支执行一组相同的操作。为了简化程序的编写,相同的程序段只需出现一次,即出现在最后一个case分支中。这是为了保证这组case分支都能执行正确的操作,只在这组case分支的最后一个case分支后加break语句,组中其他case分支则不使用break语句。
(5)case分支中包含多条语句(即statement1为一连串语句序列)时,可以不用大括号{}括起。
(6)switch语句的功能可以用if-else if结构来实现,但在某些情况下,使用switch语句更简练,可读性强,而且程序的执行效率也得到提高。
与if-else if结构相比,switch语句在数据类型上受到了限制,即只能使用int,byte,short型。
例1.1.2 在switch(expression)语句中,expression的数据类型不能是( )。
A.double B.char C.byte D.short
答案:A

上一篇:二级Java重点难点分析:类、数组和字符串操作[1]
下一篇:二级Java重点难点分析:Java程序设计的初步知识[1]
相关阅读:
·二级Java重点难点分析:J2SDK与Java应用 (2007-07-23)·二级Java重点难点分析:Applet程序设计[1] (2007-07-23)
·二级Java重点难点分析:编写图形用户界面[1] (2007-07-23)
·二级Java重点难点分析:线程与对象串行化[1] (2007-07-23)
·二级Java重点难点分析:输入输出及文件操作 (2007-07-23)
·二级Java重点难点分析:类、数组和字符串操作[1] (2007-07-23)


