问题 单项选择题

阅读下面代码段:
public class Test
public static void main(String args[])
char ch;
switch(ch)

case’a’:System.out.print("abc");break;
case’b’:System.out.print("ab");
case’c’:System.out.print("c");break;
default:System.out.print("abc");

不输出"abc"的ch值是( )

A.’a’

B.’b’

C.’c’

D.’d’

答案

参考答案:C

解析: 该题测试的是考生对switch语句的掌握,执行时,switch语句根据表达式返回的值与每个case子句的值相比较。如果匹配成功,则执行该case子句后的语句序列,直到执行到break语句或switch语句结束,然后跳出 switch语句。如果匹配不成功,则跳转到default语句。本题中,如果ch的值是’a’,则输出结果是"abc"。如果ch的值是’b’,则输出的是" ab",而这时输出还没结束,所以继续输出字符串"c",所以它的最终结果也是输出"abc"。如果ch的值是’d’,则它就跳转到default输出" abc"。如果ch的值是’c’,则输出结果是"c",所以选项C是正确的。

单项选择题
单项选择题