《Think in Java》 3.2.7 开关
“开关”(Switch)有时也被划分为一种“选择语句”。根据一个整数表达式的值,switch语句可从一系列代码选出一段执行。它的格式如下:
switch(整数选择因子) {
case 整数值1 : 语句; break;
case 整数值2 : 语句; break;
case 整数值3 : 语句; break;
case 整数值4 : 语句; break;
case 整数值5 : 语句; break;
//..
default:语句;
}
其中,“整数选择因子”是一个特殊的表达式,能产生整数值。switch 能将整数选择因子的结果与每个整数值比较。若发现相符的,就执行对应的语句(简单或复合语句)。若没有发现相符的,就执行default语
句。
break 是可选的
若省略 break,会继续执行后面的case 语句的代码,直到遇到一个break 为止
注:在java中switch后的表达式的类型只能为以下几种:byte、short、char、int(在Java1.6中是这样),
在java1.7后支持了对string的判断
下面这个例子可随机生成字母,并判断它们是元音还是辅音字母:
public class VowelsAndConsonants {
/**
* 随机生成字母,并判断它们是元音还是辅音字母
* @param args
*/
public static void main(String[] args) {
for(int i = 0; i < 100; i++) {
// 将一个 float或 double 值转换成整数值后,总是将小数部分“砍掉”,不作任何进位处理
char c = (char) (Math.random() * 26 + 'a');
System.out.println(c + ":");
switch(c) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
System.out.println("vowel");
break;
case 'y':
case 'w':
System.out.println("Sometimes a vowel");
break;
default:
System.out.println("consonant");
}
}
}
}