switch 语句的格式
switch (整型 字符型) {
//第一个分支
case 值1:
内容 ;
break ;
//第二个分支
case 值2 :
内容 ;
break ;
//第三个分支
case 值3 :
内容 ;
break ;
...
//默认分支
default :
内容 ;
}
1.switch 的关键字有 4个 , switch 、case 、break、default 。
在switch ( 变量 ) 这行 , eclipse里有这样说明 “Only convertible int values, strings or enum variables are permitted ” ,也就是说 “()”里只能是 int 、char 、 String 、 short 型的变量 以及枚举变量 (浮点型不行)。
程序先读出这个变量的值,然后在各个”case”里查找哪个值和这个变量相等,如果相等,就算条件成立,程序执行相应的分支,除非遇到break,程序结束。否则会穿透,直到switch语句结束。
2.在case 与常量值之后,需要一个冒号。想在case里“定义变量” 或者使用“复合语句”时,需要用{}
switch ( 值 ) {
//需要一个冒号:
case 值1 : {
int i= 1; //若没{}会因为case范围的不明确而报错。
...
break;
}
case 值2 :
....
}
3.break : 使 选中的case 里程序在执行后,可以跳出整个switch语句。
switch(值) {
case 1 :
//值为 “1”输出 我
System.out.println("我");
break ;//跳出
//值为 “2” 输出 爱
case 2 :
System.out.println("爱");
break ;//跳出
...
//上面的都不满足,输出 你
default :
System.out.println("你");
}
4.default是可选的,但如果没有default,程序在找不到匹配的case分支后,将在switch语句范围内不做什么事,直接完成switch。
5.在switch 和 if 语句的选择上 :
如果判断条件是“表达式” 且 分支在三个以上的时候 ,最好用switch 。
注:表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。
如果有不对的地方,请指正,谢谢。