Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路程式設計

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java APIs 和框架

Java 類引用

Java 有用資源

Java - default關鍵字



default 關鍵字

default關鍵字switch語句的一部分,它允許測試變數與值的列表是否相等。

每個值稱為一個case,並且正在切換的變數會針對每個case進行檢查。default代表一個特殊情況,無需任何匹配值即可執行。default case是可選的,如果在上面定義的任何case中遇到任何break或exit語句,則不會執行它。

語法

增強型switch語句的語法為:

switch(expression) {
   case value :
      // Statements
      break; // optional
   
   case value :
      // Statements
      break; // optional
   
   // You can have any number of case statements.
   default : // Optional
      // Statements
}

使用default關鍵字的規則

使用default關鍵字的switch語句適用以下規則:

  • switch語句中使用的變數只能是整數、可轉換為整數的型別(byte、short、char)、字串列舉

  • 可以在一個switch語句中使用任意數量的case語句。每個case後面跟著要比較的值和一個冒號。

  • case的值必須與switch語句中的變數的資料型別相同,並且必須是常量或字面量。

  • 當正在切換的變數等於某個case時,該case後面的語句將執行,直到遇到break語句。

  • 當遇到break語句時,switch語句將終止,控制流跳轉到switch語句後面的下一行。

  • 並非每個case都需要包含break語句。如果沒有break語句,控制流將貫穿到後續的case,直到遇到break語句。

  • switch語句可以有一個可選的default case,它必須出現在switch的末尾。當沒有一個case為真時,可以使用default case執行任務。default case不需要break語句。

流程圖

Switch Statement

default關鍵字的示例

示例1

在這個例子中,我們展示了switch語句的使用,其中case基於char型別。我們建立了一個變數grade。根據grade的值,檢查每個case。如果一個case滿足條件並且存在break語句,則不會檢查後面的case。由於我們傳入了一個無效的grade,因此只有default case會被執行,列印“Invalid Grade”作為結果。

package com.tutorialspoint;

public class JavaTester {

   public static void main(String args[]) {
      char grade = 'c';

      switch(grade) {
         case 'A' :
            System.out.println("Excellent!"); 
            break;
         case 'B' :
         case 'C' :
            System.out.println("Well done");
            break;
         case 'D' :
            System.out.println("You passed");
         case 'F' :
            System.out.println("Better try again");
            break;
         default :
            System.out.println("Invalid grade");
      }
      System.out.println("Your grade is " + grade);
   }
}

輸出

使用各種命令列引數編譯並執行上述程式。這將產生以下結果:

Invalid grade
Your grade is c

示例2

在這個例子中,我們展示了switch語句的使用,其中case基於int型別。我們建立了一個變數grade。根據grade的值,檢查每個case。如果一個case滿足條件並且存在break語句,則不會檢查後面的case。由於我們在case語句中使用了break語句,因此在匹配的case之後,switch語句根本不會執行default語句。

package com.tutorialspoint;

public class JavaTester {

   public static void main(String args[]) {
      int grade = 3;

      switch(grade) {
         case 1 :
            System.out.println("Excellent!"); 
            break;
         case 2 :
         case 3 :
            System.out.println("Well done");
            break;
         case 4 :
            System.out.println("You passed");
         case 5 :
            System.out.println("Better try again");
            break;
         default :
            System.out.println("Invalid grade");
      }
      System.out.println("Your grade is " + grade);
   }
}

輸出

使用各種命令列引數編譯並執行上述程式。這將產生以下結果:

Well done
Your grade is 3

示例3

在這個例子中,我們展示了switch語句的使用,其中case基於String型別。我們建立了一個變數grade。根據grade的值,檢查每個case。如果一個case滿足條件並且存在break語句,則不會檢查後面的case。這裡我們沒有使用default語句,因為它是一個可選欄位,程式執行正常。

package com.tutorialspoint;

public class JavaTester {

   public static void main(String args[]) {
      String grade = "C";

      switch(grade) {
         case "A" :
            System.out.println("Excellent!"); 
            break;
         case "B" :
         case "C" :
            System.out.println("Well done");
            break;
         case "D" :
            System.out.println("You passed");
         case "F" :
            System.out.println("Better try again");
            break;
      }
      System.out.println("Your grade is " + grade);
   }
}

輸出

使用各種命令列引數編譯並執行上述程式。這將產生以下結果:

Well done
Your grade is C
java_basic_syntax.htm
廣告