Java Switch 语句
switch语句有点像if语句,switch一般用于在两个以上的代码块之间进行选择的情形。示例如下:
int amount = 9;
switch(amount) {
case 0 : System.out.println("amount is 0"); break;
case 5 : System.out.println("amount is 5"); break;
case 10 : System.out.println("amount is 10"); break;
default : System.out.println("amount is something else");
}
本示例首先创建了一个名为 amount的变量,并将其赋值为9.
然后,在变量 amount上进行switch判断。在判断的主体里面有3个case语句和一个default语句。
每个case语句将 amount变量的值与一个常量值进行比较。如果 amount变量值等于该常数值,则执行冒号(:)后面的代码。注意每个语句后都有break关键字,没有break关键字,则执行了该语句后,还会继续执行其余的case语句,直到遇到中断,或者达到switch语句的结尾为止。 break关键字使执行跳出switch语句。
如果没有一个case语句的常量值与 amount变量的值相匹配,则默认语句会被执行。如果在default之前的case语句后没有break关键字,那么也可以执行默认语句。如果你不需要default语句,也可以不要它,这是可选的。
在byte,short,char,int,String或者enum上都可以使用Switch
如你所见,switch语句是打开判断一个变量,这在Java7之前,该变量必须是数字的,并且必须是byte,short,char或者int。从Java7开始,该变量也可以是一个字符串也可以使用一个Java枚举作为开关变量。
多个case语句执行同样的操作
如果你想为多个case语句执行相同的操作,你可以这样写:
char key = '\t'
switch(key) {
case ' ' :
case '\t' : System.out.println("white space char"); break;
default : System.out.println("amount is something else");
}
注意第一个case语句在冒号后没有任何操作,这样做的结果是,执行的操作只是“下沉”到下一个case语句后的操作,直到遇到break语句为止。该例子中下一个break声明是在第二个case声明之后。也就是说,对于第一个和第二个case,都执行相同的操作,即是第二个case后的操作。
下一篇: Java for循环