在程式設計時,處理不同條件下的不同動作是非常困難的。儘管在 Java 和許多其他程式語言中,if-else、if-else-if 等語句在各種條件下使用。但是,如果有「n」個場景需要針對每個條件採取單獨的動作怎麼辦?此時的多個 if 和 else-if 語句可能會在程式碼中的某個時刻給程式設計師帶來混亂,因為它涉及多個大括號和每個條件的一組語句。為了在 Java 中處理此類情況,可以使用 Switch-Case 語句來簡化程式設計師並減少程式碼行和複雜性。
switch 語句是分支語句。 case 是與 Switch 語句一起使用的關鍵字。當表達式的值與case值相符時,它執行語句/語句,而特定語句的程式碼以break關鍵字結束。 Java中的Case值可以是byte、int、short、byte資料型別。到了Java JDK7,case的值還可以是String、Wrapper和枚舉型別。如果 Case 的任何值與表達式不匹配,則執行預設語句。儘管在 Switch-Case 語句中 default 和 break 關鍵字不是強制性的。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
如上所述,當表達式的值與 Case 值相符時,將執行特定 Switch 語句中的 Case。如果沒有任何值與 case 值匹配,則執行 Switch 區塊中定義的 default 語句;否則,不會執行任何事情。
重要要點總結:
switch (expression) { // case statements // same data type for switch expression and case value Case value1: //Statement /statements to be executed break; case value 2: //Statement /statements to be executed break; case value'n': //Statement /statements to be executed break; // There can be as many Cases as the user wants in a Switch block //default is an optional case and executed if none of the case values matches the expression default: //statement }
上面的流程圖清楚地展示了Java中Switch和Case語句的工作原理。它顯示了 Switch 語句中定義的表達式如何與從頂部開始直到最後一步的 Case 值進行匹配。如果直到最後一步才符合該值,即每個 case 結束時都會傳回 false,則執行「default」內的程式碼。如果任何 case 的值與表達式匹配,即任何 Case 語句中返回“true”,則執行特定區塊的程式碼,然後執行退出 Switch 區塊。
下面的範例清楚地展示了 Case 語句在 Java 中的工作原理。
當 Switch 表達式的值與 Case 值相符時
代碼:
public class MyClass { public static void main(String args[]) { int value = 8; switch (value) { case 3: System.out.println("Congratulations here is the case 3 executed"); break; case 4: System.out.println("Congratulations here is the case 4 executed"); break; case 8: System.out.println("Congratulations here is the case 8 executed"); break; default: System.out.println("Sorry none of your cases matched"); break; } } }
輸出:
當沒有值與 Switch 表達式相符時
代碼:
public class MonthClass { public static void main(String args[]) { int month= 13; switch (month) { case 1: System.out.println("Month is January"); break; case 2: System.out.println("Month is February"); break; case 4: System.out.println("Month is April"); break; default: System.out.println("Sorry either the value you have given is invalid or not matched with any of the case."); break; } } }
輸出:
Case 語句缺少break關鍵字時
代碼:
public class VowelClass{ public static void main(String args[]) { char ch = 'a'; switch (ch) { case 'e': System.out.println("Value matched - e, a vowel\n"); break; case 'a': System.out.println("Value matched - a, a vowel"); case 'w': System.out.println("Value matched - w, not a vowel"); case 'o': System.out.println("Value matched - o, a vowel"); default: System.out.println("Sorry none of your cases matched"); break; } } }
輸出:
當 switch 區塊中沒有預設區塊時
代碼:
public class NoOutputClass { public static void main(String args[]) { char grades = 'D'; switch (grades) { Case 'A': System.out.println("Grade A - Excellent"); break; case 'B': System.out.println("Grade B - Good"); break; case 'C': System.out.println("Grade C - Poor"); break; } } }
輸出:
在上面的文章中,我們已經提到了 switch 語句的幾乎所有場景以及它們可以產生的輸出。雖然使用 Switch 語句非常容易,但程式設計師在使用它們之前應該徹底理解它,因為有時如果犯了一些錯誤,可能會產生意想不到的結果。一般情況下,Switch應該用在需要在一定條件下執行動作,且條件較多的場景。只有2-3個條件的情況下,可以用if-else -if語句來解。
這是 Java 中 Case 語句的指南。在這裡,我們討論 Java 中 Switch-Case 語句的流程圖以及語法和範例。您也可以瀏覽我們其他推薦的文章以了解更多資訊 –
以上是Java 中的 case 語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!