switch结构在笔试中出现的频率非常高,很基础,但容易失误。先来看看它的基础知识。
1、switch 语句的格式:
switch ( 变量 )
{
case 变量可能值1 :
分支一;
break;
case 变量可能值2 :
分支二;
break;
case 变量可能值3 :
分支三;
break;
…
default :
最后分支;
}
2、switch支持的类型
switch支持整型、字符串、和char类型,不支持浮点类型。
3、break和default的作用
(1)break的作用
break 使得程序在执行完选中的分支后,可以跳出整个switch语句(即跳到switch接的一对{}之后),完成switch。如果没有这个break,程序将在继续前进到下一分支,直到遇到后面的break或者switch完成。
(2)default的作用
default是可选的,作用是如果程序找不到任何case分支后,就会走default;如果没有default,程序在找不到匹配的case分支后,将在switch语句范围内不做什么事,直接完成switch。
例
1、下面将输出什么结果?
char ch = 's';
switch(ch){
case 'B' :System.out.println("0");break;
case 'C' :System.out.println("1");
case 'D' :System.out.println("2");
default:System.out.println("A");
}
A.0 A B.0 C.A 0 D.A
答案:D
2、下面将输出什么结果?
String s1 = "A";
switch(s1){
default:System.out.println("A");
case "B" :System.out.println("0");break;
case "C" :System.out.println("1");
case "D" :System.out.println("2");
}
A.0 A B.0 C.A 0 D.A
答案:C
说明:通常情况下,default是写在最后,这时我们可以省略break关键字,因为此时程序已经结束了;但是如果写在中间或者开头,那么如果没有break,就会继续执行下面的case项。
3、下面将输出什么结果?
int n = 9;
switch(n){
default:System.out.println("A");break;
case 0 :System.out.println("0");break;
case 1 :System.out.println("1");
case 2 :System.out.println("2");
}
A.0 A B.0 C.A 0 D.A
答案:D