Java中的switch case等價于if else if語句垂蜗。它用于根據(jù)某些條件執(zhí)行語句解幽。
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數(shù)字來打印工作日:
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移除镣衡,看看會發(fā)生什么:
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語句,它會在條件滿足時執(zhí)行條件后的所有語句磨德。
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語句在這里區(qū)分大小寫幅虑。
在switch case和if else if之間進行選擇取決于可讀性和各種因素。你可以根據(jù)自己的需要進行選擇褒墨。