您现在的位置:学赛首页 > 计算机等级考试 > 复习资料 > 正文
二级Java重点难点分析:流程控制和异常处理[2]
http://www.educity.cn 作者:希赛IT教育研发中心 来源:希赛网 2007年7月10日 发表评论 进入社区
    例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的取值范围是(   )。[2004年9月 选择第19题]
    A.x>0     B.x>-3    C.x<=-3   D.x<=0&x>-3
    答案:C

    7.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型。
       例7.1.2  在switch(expression)语句中,expression的数据类型不能是(   )。 [2005年9月 选择第17题]
    A.double    B.char    C.byte    D.short
    答案:A
  本章节内容来自希赛全国计算机等级考试用书《计算机等级考试考点分析、题解与模拟——二级Java语言》。(购书请见 :http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10032470

[1]  [2]