Java的switch case

Java中的switch case等价于if else if语句。它用于根据某些条件执行语句。

switch(expression) {
    case value_1 :
       // Statements
       break; // optional
       
    case value_2 :
       // Statements
       break; // optional
       
    // If expression does not match with any of above conditions, 
    // default will be executed 
    default : // Optional
       // Statements
}

我们通过一个示例来理解它。我们将通过一个integer数字来打印工作日:

package org.ifelse;

public class SwitchDemo {
    public static void main(String[] args) {
        int dayOfWeek = 5;
        switch (dayOfWeek) {
        case 0:
            System.out.println("Sunday");
            break;
        case 1:
            System.out.println("Monday");
            break;
        case 2:
            System.out.println("Tuesday");
            break;
        case 3:
            System.out.println("Wednesday");
            break;
        case 4:
            System.out.println("Thrusday");
            break;
        case 5:
            System.out.println("Friday");
            break;
        case 6:
            System.out.println("Saturday");
            break;

        // Default is executed when expression does not match with any of above
        // conditions.
        default: // Optional
            System.out.println("Invalid day of week");
        }
    }
}

程序运行后结果显示如下:

Friday

假如将上面示例中的break移除,看看会发生什么:

package org.ifelse;

public class SwitchDemo {
    public static void main(String[] args) {
        int dayOfWeek = 5;
        switch (dayOfWeek) {
        case 0:
            System.out.println("Sunday");
        case 1:
            System.out.println("Monday");
        case 2:
            System.out.println("Tuesday");
        case 3:
            System.out.println("Wednesday");
        case 4:
            System.out.println("Thrusday");
        case 5:
            System.out.println("Friday");
        case 6:
            System.out.println("Saturday");

        // Default is executed when expression does not match with any of above
        // conditions.
        default: // Optional
            System.out.println("Invalid day of week");
        }
    }
}

程序运行结果显示如下:

Friday
Saturday
Invalid day of week

正如你在上面示例中看到的那样,如果你不使用break语句,它会在条件满足时执行条件后的所有语句。

switch case的string示例:
在Java 7之后的switch表达式中使用String。

package org.ifelse;

public class SwitchDemo {
    public static void main(String[] args) {
        String dayOfWeek = "5";
        switch (dayOfWeek) {
        case "0":
            System.out.println("Sunday");
            break;
        case "1":
            System.out.println("Monday");
            break;
        case "2":
            System.out.println("Tuesday");
            break;
        case "3":
            System.out.println("Wednesday");
            break;
        case "4":
            System.out.println("Thrusday");
            break;
        case "5":
            System.out.println("Friday");
            break;
        case "6":
            System.out.println("Saturday");
            break;

        // Default is executed when expression does not match with any of above
        // conditions.
        default: // Optional
            System.out.println("Invalid day of week");
        }
    }
}

程序运行结果显示如下:

Friday

switch case在内部使用equals方法比较,所以case语句在这里区分大小写。

在switch case和if else if之间进行选择取决于可读性和各种因素。你可以根据自己的需要进行选择。

你可能感兴趣的:(Java的switch case)