」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Java 切換初學者指南

Java 切換初學者指南

發佈於2024-11-08
瀏覽:494

A Beginner
Java Switching 在 Java 中引入了 Switch 語句的概念,為複雜的 if-else 鏈提供了替代方案。 Switch 語句可讓您將一個變數與多個可能的值進行比較,從而使您的程式碼更有效率且可讀。
本指南涵蓋了語法、不同資料類型的用法以及在 Java 中實現 switch 語句的最佳實踐。
透過掌握這種控制流程機制,您可以簡化程式碼中的決策過程。為了更深入了解 Java 編程,JAVATPOINT 等資源提供了全面的教學和範例。

什麼是 Switch 語句?

switch 語句計算變數(稱為「switch 表達式」),並將其與可能值清單(稱為「cases」)進行比較。當找到匹配項時,就會執行對應的程式碼區塊。如果未找到匹配項,則可以執行可選的預設區塊。
Switch 語句通常與 Java 中的整數、字元和枚舉一起使用,但從 Java 7 開始,它們也可以與字串一起使用。

Switch 語句的語法

Java中switch語句的基本語法如下:
開關(表達式){

case value1:
        // Code to execute if expression matches value1
        break;
    case value2:
        // Code to execute if expression matches value2
        break;
    // More cases...
    default:
        // Code to execute if no case matches
}

switch (表達式):計算表達式並與 case 語句中的值進行比較。
case value:表示表達式的一個可能值。如果表達式與此值匹配,則將執行此情況後面的程式碼區塊。
break;:停止 switch 語句繼續檢查剩餘的情況。如果沒有中斷,程式碼將「失敗」到下一個案例。
default:當沒有任何 case 與表達式匹配時執行。這是可選的。

範例:使用帶有整數的 Switch 語句

這是一個 switch 語句的簡單範例,用於檢查整數並列印相應的星期幾:

int day = 3;

switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;
    case 4:
        System.out.println("Thursday");
        break;
    case 5:
        System.out.println("Friday");
        break;
    case 6:
        System.out.println("Saturday");
        break;
    case 7:
        System.out.println("Sunday");
        break;
    default:
        System.out.println("Invalid day");
}

在此範例中,由於日期為 3,因此輸出將為:
週三

範例:對字串使用 Switch 語句

Switch 語句也可以與字串一起使用,如下例所示:

String fruit = "Apple";

switch (fruit) {
    case "Apple":
        System.out.println("You selected an Apple");
        break;
    case "Banana":
        System.out.println("You selected a Banana");
        break;
    case "Orange":
        System.out.println("You selected an Orange");
        break;
    default:
        System.out.println("Unknown fruit");
}

如果水果設定為“Apple”,則輸出將為:
您選擇了 Apple

使用 Switch 語句的最佳實踐

使用 Break 語句:除非故意使用失敗邏輯,否則始終在每個 case 之後包含 break 語句以防止失敗。
預設:包含預設情況以處理意外輸入並提供後備選項。
可讀程式碼:使用switch語句使程式碼更具可讀性,特別是在處理多個條件時。
複雜邏輯:避免對複雜邏輯使用 switch 語句,因為 if-else 條件可能提供更大的彈性。

結論

掌握Java中的Switch語句可以顯著提高程式碼的可讀性和效率,尤其是在處理多個條件時。
透過有效地使用 switch 結構,您可以用更乾淨、更有組織的方法來取代冗長的 if-else 鏈。新增break語句和default case可確保您的程式順利運行,而不會出現不必要的失敗。
為了進一步增強您對 Java 控制流程和其他程式設計概念的理解,JAVATPOINT 等資源提供了全面的教學和範例,可以引導您完成學習之旅。

版本聲明 本文轉載於:https://dev.to/javatpoint123/a-beginners-guide-to-java-switching-14in?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • JavaScript中原始值與引用值的區別是什麼
    JavaScript中原始值與引用值的區別是什麼
    Primitive vs Reference Values in JavaScriptIn programming, variables can store two types of values: primitive values and reference values.Primitive Va...
    程式設計 發佈於2025-04-21
  • Java是否允許多種返回類型:仔細研究通用方法?
    Java是否允許多種返回類型:仔細研究通用方法?
    在Java中的多個返回類型:一種誤解類型:在Java編程中揭示,在Java編程中,Peculiar方法簽名可能會出現,可能會出現,使開發人員陷入困境,使開發人員陷入困境。 getResult(string s); ,其中foo是自定義類。該方法聲明似乎擁有兩種返回類型:列表和E。但這確實是如此嗎...
    程式設計 發佈於2025-04-21
  • Flatten與Ravel:NumPy函數選擇指南
    Flatten與Ravel:NumPy函數選擇指南
    了解Numpy的Flatten和Ravel functions Numpy庫提供兩種方法,Flatten and ravel,以將多維數組轉換為一維數組。但是,出現了一個問題:為什麼要執行相同任務的兩個不同的函數? 相同的輸出,不同的行為 打印(y.ravel()) [1 2 3 4 5 6 7...
    程式設計 發佈於2025-04-21
  • 如何從2D數組中提取元素?使用另一數組的索引
    如何從2D數組中提取元素?使用另一數組的索引
    Using NumPy Array as Indices for the 2nd Dimension of Another ArrayTo extract specific elements from a 2D array based on indices provided by a second ...
    程式設計 發佈於2025-04-21
  • Python中嵌套函數與閉包的區別是什麼
    Python中嵌套函數與閉包的區別是什麼
    嵌套函數與python 在python中的嵌套函數不被考慮閉合,因為它們不符合以下要求:不訪問局部範圍scliables to incling scliables在封裝範圍外執行範圍的局部範圍。 make_printer(msg): DEF打印機(): 打印(味精) ...
    程式設計 發佈於2025-04-21
  • PHP陣列鍵值異常:了解07和08的好奇情況
    PHP陣列鍵值異常:了解07和08的好奇情況
    PHP數組鍵值問題,使用07&08 在給定數月的數組中,鍵值07和08呈現令人困惑的行為時,就會出現一個不尋常的問題。運行print_r($月)返回意外結果:鍵“ 07”丟失,而鍵“ 08”分配給了9月的值。 此問題源於PHP對領先零的解釋。當一個數字帶有0(例如07或08)的前綴時,PHP將...
    程式設計 發佈於2025-04-21
  • CSS尺寸單位使用技巧提升網頁設計
    CSS尺寸單位使用技巧提升網頁設計
    为什么CSS尺寸单元很重要 CSS尺寸单元是设计响应能力的骨干。这些单元定义了与他人或视口本身有关的元素应出现的大小或小。就像魔术公式告诉您的网站如何在不同的屏幕尺寸上行事。没有这些单元,您的设计最终可能会看起来尴尬,伸展或在某些设备上狭窄。 ,但这是事实:大小单元的类型不同,...
    程式設計 發佈於2025-04-21
  • 如何高效地在一個事務中插入數據到多個MySQL表?
    如何高效地在一個事務中插入數據到多個MySQL表?
    mySQL插入到多個表中,該數據可能會產生意外的結果。雖然似乎有多個查詢可以解決問題,但將從用戶表的自動信息ID與配置文件表的手動用戶ID相關聯提出了挑戰。 使用Transactions和last_insert_id() 插入用戶(用戶名,密碼)值('test','tes...
    程式設計 發佈於2025-04-21
  • `_tmain()與main()在C++中何時使用? `
    `_tmain()與main()在C++中何時使用? `
    Difference Between _tmain() and main() in C In C , the primary method for defining the program's entry point is main(), which typically appears ...
    程式設計 發佈於2025-04-21
  • 為什麼PHP的DateTime :: Modify('+1個月')會產生意外的結果?
    為什麼PHP的DateTime :: Modify('+1個月')會產生意外的結果?
    使用php dateTime修改月份:發現預期的行為在使用PHP的DateTime類時,添加或減去幾個月可能並不總是會產生預期的結果。正如文檔所警告的那樣,“當心”這些操作的“不像看起來那樣直觀。 考慮文檔中給出的示例:這是內部發生的事情: 現在在3月3日添加另一個月,因為2月在2001年只有2...
    程式設計 發佈於2025-04-21
  • 在JavaScript中如何獲取實際渲染的字體,當CSS字體屬性未定義時?
    在JavaScript中如何獲取實際渲染的字體,當CSS字體屬性未定義時?
    Accessing Actual Rendered Font when Undefined in CSSWhen accessing the font properties of an element, the JavaScript object.style.fontFamily and objec...
    程式設計 發佈於2025-04-21
  • 如何有效地選擇熊貓數據框中的列?
    如何有效地選擇熊貓數據框中的列?
    在處理數據操作任務時,在Pandas DataFrames 中選擇列時,選擇特定列的必要條件是必要的。在Pandas中,選擇列的各種選項。 選項1:使用列名 如果已知列索引,請使用ILOC函數選擇它們。請注意,python索引基於零。 df1 = df.iloc [:,0:2]#使用索引0和1 ...
    程式設計 發佈於2025-04-21
  • Java反射能否訪問私有字段?
    Java反射能否訪問私有字段?
    通過Java java的封裝機制使開發人員限制訪問私人私人的私人私人訪問權限。但是,可以使用Java的反射API繞過這些限制。本文探討了是否以及如何通過反射訪問私有字段。 訪問私有字段Obtain the Field Object: Invoke the getDeclaredField() ...
    程式設計 發佈於2025-04-21
  • 如何檢查對像是否具有Python中的特定屬性?
    如何檢查對像是否具有Python中的特定屬性?
    方法來確定對象屬性存在尋求一種方法來驗證對像中特定屬性的存在。考慮以下示例,其中嘗試訪問不確定屬性會引起錯誤: >>> a = someClass() >>> A.property Trackback(最近的最新電話): 文件“ ”,第1行, attributeError:SomeClass實...
    程式設計 發佈於2025-04-21
  • FastAPI自定義404頁面創建指南
    FastAPI自定義404頁面創建指南
    response = await call_next(request) if response.status_code == 404: return RedirectResponse("https://fastapi.tiangolo.com") else: ...
    程式設計 發佈於2025-04-21

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3