首頁  >  文章  >  Java  >  Java 中的 case 語句

Java 中的 case 語句

WBOY
WBOY原創
2024-08-30 15:24:191134瀏覽

在程式設計時,處理不同條件下的不同動作是非常困難的。儘管在 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 語句在 Java 中如何運作?

如上所述,當表達式的值與 Case 值相符時,將執行特定 Switch 語句中的 Case。如果沒有任何值與 case 值匹配,則執行 Switch 區塊中定義的 default 語句;否則,不會執行任何事情。

重要要點總結:

  • 程式中可以有多個switch區塊,依照不同的情況而定。
  • 單一 Switch 區塊中可以有任意數量的 Case 語句。
  • Case 語句中不允許重複值出現。
  • switch 語句的變數的資料型別需要與 Case 語句的值相同。
  • Case 值不允許使用變數。值可以是常數或文字。
  • 每個 Case 中的 Break 關鍵字用來終止該 Case 的特定語句序列。如果任何 case 語句中都沒有使用break,那麼就不會出現錯誤;相反,所有與符合案例相關的案例都會被執行。
  • Beak 和 default 關鍵字在 Switch 區塊中是可選的。

Java中Switch Case語句的語法

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
}

Switch Case 語句流程圖

上面的流程圖清楚地展示了Java中Switch和Case語句的工作原理。它顯示了 Switch 語句中定義的表達式如何與從頂部開始直到最後一步的 Case 值進行匹配。如果直到最後一步才符合該值,即每個 case 結束時都會傳回 false,則執行「default」內的程式碼。如果任何 case 的值與表達式匹配,即任何 Case 語句中返回“true”,則執行特定區塊的程式碼,然後執行退出 Switch 區塊。

Java 中的 case 語句

Case Java 語句範例

下面的範例清楚地展示了 Case 語句在 Java 中的工作原理。

範例#1

當 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;
}
}
}

輸出:

Java 中的 case 語句

範例#2

當沒有值與 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;
}
}
}

輸出:

Java 中的 case 語句

範例 #3

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;
}
}
}

輸出:

Java 中的 case 語句

範例#4

當 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;
}
}
}

輸出:

Java 中的 case 語句

結論

在上面的文章中,我們已經提到了 switch 語句的幾乎所有場景以及它們可以產生的輸出。雖然使用 Switch 語句非常容易,但程式設計師在使用它們之前應該徹底理解它,因為有時如果犯了一些錯誤,可能會產生意想不到的結果。一般情況下,Switch應該用在需要在一定條件下執行動作,且條件較多的場景。只有2-3個條件的情況下,可以用if-else -if語句來解。

推薦文章

這是 Java 中 Case 語句的指南。在這裡,我們討論 Java 中 Switch-Case 語句的流程圖以及語法和範例。您也可以瀏覽我們其他推薦的文章以了解更多資訊 –

  1. Java 中的星形圖案
  2. Java 框架
  3. 最佳 Java 編譯器
  4. JavaScript 中的案例語句

以上是Java 中的 case 語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn