首頁 > Java > java教程 > Java 中的 case 語句

Java 中的 case 語句

WBOY
發布: 2024-08-30 15:24:19
原創
1165 人瀏覽過

在程式設計時,處理不同條件下的不同動作是非常困難的。儘管在 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中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板