使用switch case語句的Java編程實例

一、switch case語句的基本用法

Java中的switch case語句用於在多個可能的選項中進行選擇,其基本的結構如下:

switch (expression) {
    case value1:
        // statements
        break;
    case value2:
        // statements
        break;
    ...
    default:
        // statements
        break;
}

switch後面的(expression)是需要進行匹配的值,而value1,value2是可能的選項值,如果匹配上了選項值,那麼就執行相應的語句,如果沒有匹配上任何一個選項就會執行default後面的語句。break語句用於退出switch語句,確保只執行匹配選項後的語句。

下面是一個例子,演示使用switch case語句得到當前月份的名稱:

import java.util.Scanner;

public class MonthNameDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("請輸入一個月份的數字:");
        int monthNum = sc.nextInt();
        switch (monthNum) {
            case 1:
                System.out.println("一月");
                break;
            case 2:
                System.out.println("二月");
                break;
            case 3:
                System.out.println("三月");
                break;
            case 4:
                System.out.println("四月");
                break;
            case 5:
                System.out.println("五月");
                break;
            case 6:
                System.out.println("六月");
                break;
            case 7:
                System.out.println("七月");
                break;
            case 8:
                System.out.println("八月");
                break;
            case 9:
                System.out.println("九月");
                break;
            case 10:
                System.out.println("十月");
                break;
            case 11:
                System.out.println("十一月");
                break;
            case 12:
                System.out.println("十二月");
                break;
            default:
                System.out.println("輸入的月份無效!");
                break;
        }
    }
}

上述代碼中,用戶需要輸入一個1到12之間的數字,然後根據輸入的數字使用switch case語句得到相應月份的名稱。如果輸入的數字不在1到12之間,就輸出「輸入的月份無效!」。

二、switch case語句的常見應用

1. 字元串匹配

Java SE 7以上版本支持在switch語句中使用字元串,實現字元串的匹配。例如:

public class StringSwitchDemo {
    public static void main(String[] args) {
        String fruit = "orange";
        int price = 0;
        switch (fruit) {
            case "apple":
                price = 10;
                break;
            case "pear":
                price = 8;
                break;
            case "orange":
                price = 6;
                break;
            default:
                price = 0;
                break;
        }
        System.out.println(fruit+"的價格是:"+price);
    }
}

以上代碼演示了通過switch case語句,得到不同種類水果的價格。注意,fruit是字元串類型變數。

2. 枚舉類型匹配

當我們需要處理的數據都是已知的一組值時,枚舉類型會很有用。枚舉類型提供了更清晰的語義,使代碼更易讀,並且可以有效地使用switch語句處理。

下面是一個演示怎樣使用switch語句處理枚舉類型(Grade)的例子:

public class GradeEnumDemo {
    public static void main(String[] args) {
        Grade grade = Grade.GOOD;
        switch (grade) {
            case EXCELLENT:
                System.out.println("A優秀");
                break;
            case GOOD:
                System.out.println("B良好");
                break;
            case FAIR:
                System.out.println("C及格");
                break;
            case POOR:
                System.out.println("D不及格");
                break;
            default:
                System.out.println("未評定");
                break;
        }
    }
}

enum Grade {
    EXCELLENT, GOOD, FAIR, POOR;
}

上述代碼中,枚舉類型Grade包括四個值:EXCELLENT, GOOD, FAIR, POOR。根據不同的枚舉值,使用switch case語句輸出相應的等級。Grade是通過enum定義實現的枚舉類型。

三、switch case語句的本質

Java SE規範中定義,switch語句由多個case分支和一個可選的default分支組成。case分支以及default分支本質上都是一個標籤(Label)。在Java中,標籤可以是任何字元或者字元串,並且以冒號結尾。

在程序執行過程中,當遇到一個標籤時,就會執行標籤後面的語句。換句話說,switch語句的本質是一個帶標籤的goto語句。標籤放在每個case分支和default分支前面,而跳轉語句(類似於goto)由Java編譯器自己負責編譯產生,這就使得我們的程序看起來更加的優雅,更易於理解。

四、switch case語句的缺點和使用限制

1. switch語句不支持浮點型和布爾型數據類型。

2. switch語句不能使用範圍,必須使用固定值,即case中只能使用常量或者final變數。

3. switch語句的預設分支應該放在最後,而不是中間或者最前面。

4. 如果在程序中需要嵌套很多的switch語句時,容易造成代碼難以讀懂也容易出錯。

5. Java SE 7以上版本支持在switch語句中使用字元串,但是這種方法不如使用if-else語句的效率高。

總結

本文介紹了Java中switch case語句的基礎用法和常見應用,比如字元串匹配和枚舉類型匹配。同時,也分析了switch case語句的本質以及使用時需要注意的限制。在Java的開發過程中,判斷語句是非常必要的,選擇switch case語句或者if-else語句要根據實際情況判斷,編寫優質可維護的代碼。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/276734.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-19 13:20
下一篇 2024-12-19 13:20

相關推薦

  • Python3支持多行語句

    Python3是一種高級編程語言,開發人員可以輕鬆地使用該語言編寫簡單到複雜的代碼。其中Python3支持多行語句,方便開發人員編寫複雜的代碼,提高代碼的可讀性和可維護性。 一、使…

    編程 2025-04-29
  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • Python for循環語句列印九九乘法表

    本篇文章將詳細介紹如何使用Python的for循環語句列印九九乘法表。列印九九乘法表是我們初學Python時經常練習的一項基礎操作,也是編寫Python程序的基本能力之一。 1、基…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • Python中自定義函數必須有return語句

    自定義函數是Python中最常見、最基本也是最重要的語句之一。在Python中,自定義函數必須有明確的返回值,即必須要有return語句。本篇文章將從以下幾個方面對此進行詳細闡述。…

    編程 2025-04-29
  • Python中升序排列的if語句

    本文將為大家介紹Python中升序排列的if語句。首先,我們來看一下如何實現。 if a > b: a, b = b, a if b > c: b, c = c, b …

    編程 2025-04-29
  • Python輸出語句用法介紹

    Python作為一種高級編程語言,為編程帶來了極大的便利和快捷。而輸出語句則是Python編程中不可缺少的一部分,它能夠讓我們看到程序運行的結果、判斷程序的正確性和優化程序等。本文…

    編程 2025-04-28
  • Python語句大全

    本文將詳細闡述Python語句大全,並給出代碼實例。 一、基本語句 Python基本語句包括賦值語句、條件語句、循環語句等,其中最基礎的是賦值語句。如下: a = 1 b = 2 …

    編程 2025-04-28
  • 如何在dolphinscheduler中運行chunjun任務實例

    本文將從多個方面對dolphinscheduler運行chunjun任務實例進行詳細的闡述,包括準備工作、chunjun任務配置、運行結果等方面。 一、準備工作 在運行chunju…

    編程 2025-04-28
  • Python同步賦值語句的使用方法和注意事項

    Python同步賦值語句是Python中用來同時為多個變數賦值的一種方法。通過這種方式,可以很方便地同時為多個變數賦值,從而提高代碼的可讀性和編寫效率。下面從多個方面詳細介紹Pyt…

    編程 2025-04-28

發表回復

登錄後才能評論