在本教程中,您將學(xué)習(xí)如何使用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í)行計算。