在本教程中,您將學習如何使用Java中的switch語句來控制程序執(zhí)行的流程
在Java中,我們使用了if..else..if階梯在多個塊之間執(zhí)行一個代碼塊。但是,if ... else ... if梯子的語法太長。
因此,我們可以使用switch語句代替long if ... else ... if梯子。switch語句的使用使我們的代碼更具可讀性。
switch語句的語法為:
switch (variable/expression) {
case value1:
// case1 語句
break;
case value2:
// case2 語句
break;
.. .. ...
.. .. ...
default:
// default 語句
}switch語句評估expression或variable(表達式或變量),并將其與每個case標簽的值(可以是表達式)進行比較。
現(xiàn)在,如果值與某個case標簽匹配,那么將執(zhí)行匹配case標簽的所有語句。
例如,如果 variable/expression 等于value2。在這種情況下,case將執(zhí)行該匹配的所有語句(case2的語句)。
注意,在每種情況下都使用break語句。break語句用于終止該語句的執(zhí)行switch。
這很重要,因為如果不使用break語句,則case之后的所有語句將按順序執(zhí)行,直到switch語句結(jié)束。

class Main {
public static void main(String[] args) {
int week = 4;
String day;
// switch語句判斷星期幾
switch (week) {
case 1:
day = "Sunday";
break;
case 2:
day = "Monday";
break;
case 3:
day = "Tuesday";
break;
//匹配星期的值
case 4:
day = "Wednesday";
break;
case 5:
day = "Thursday";
break;
case 6:
day = "Friday";
break;
case 7:
day = "Saturday";
break;
default:
day = "Invalid day";
break;
}
System.out.println("這一天是 " + day);
}
}輸出:
這一天是 Wednesday
在上面的示例中,我們使用switch語句找出一周中的某天。在這里,我們有一個保存整數(shù)值的變量week。將該值與switch塊case內(nèi)的每個值進行比較。
這里week的值是4。因此,它與case 4匹配。所以case 4里面的語句被執(zhí)行了。
下面的程序從用戶那里接受三個輸入:一個運算符和2個數(shù)字。根據(jù)用戶提供的運算符,對這些數(shù)字進行計算。然后結(jié)果顯示在屏幕上。
在瀏覽該程序之前,您最好已經(jīng)了解Java scanner以接受用戶的輸入。
import java.util.Scanner;
class Main {
public static void main(String[] args) {
char operator;
Double number1, number2, result;
//創(chuàng)建一個Scanner類的對象
Scanner scanner = new Scanner(System.in);
System.out.print("輸入運算符 (選項: +, -, * 或 /): ");
//要求用戶輸入運算符
operator = scanner.next().charAt(0);
System.out.print("分別輸入數(shù)字1和數(shù)字2: ");
//要求用戶輸入數(shù)字
number1 = scanner.nextDouble();
number2 = scanner.nextDouble();
switch (operator) {
//兩個數(shù)字相加
case '+':
result = number1 + number2;
System.out.print(number1 + "+" + number2 + " = " + result);
break;
//兩個數(shù)字相減
case '-':
result = number1 - number2;
System.out.print(number1 + "-" + number2 + " = " + result);
break;
//兩個數(shù)字相乘
case '*':
result = number1 * number2;
System.out.print(number1 + "*" + number2 + " = " + result);
break;
//兩個數(shù)字相除
case '/':
result = number1 / number2;
System.out.print(number1 + "/" + number2 + " = " + result);
break;
default:
System.out.println("Invalid operator!");
break;
}
}
}輸出:
輸入運算符 (選項: +, -, * 或 /): * 分別輸入數(shù)字1和數(shù)字2: 1.4 -5.3 1.4*-5.3 = -7.419999999999999
在上面的示例中,我們使用switch語句創(chuàng)建了一個計算器。它根據(jù)用戶提供的運算符執(zhí)行計算。