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循环

results matching ""

    No results matching ""