Java語言中的Switch語句是一種常用的選擇結構,它通常用於處理多個選擇分支的情況,可以根據一定的條件來執行不同的代碼塊。本文將詳細介紹Java Switch語句的使用方法,包括選擇條件、case語句、break關鍵字等內容。
一、選擇條件
Switch語句的選擇條件通常是一個整數型表達式或枚舉常量。在選擇條件有多種情況的時候,可以使用case分支語句來匹配不同的條件。例如:
int i = 1; switch(i) { case 1: System.out.println("選擇了1"); break; case 2: System.out.println("選擇了2"); break; default: System.out.println("沒有選擇"); }
在上面的例子中,選擇條件是變數i的值,當i的值為1時,會執行case 1下的代碼塊,並輸出「選擇了1」,當i的值為2時,會執行case 2下的代碼塊,並輸出「選擇了2」,當i的值既不是1也不是2時,會執行default下的代碼塊,並輸出「沒有選擇」。其中,break關鍵字用於終止當前分支的執行。
二、Case語句
Case語句用於匹配選擇條件,並執行相應的代碼塊。在Java Switch語句中,Case語句可以是一個整數常量、一個枚舉常量或一個字元串常量,也可以是一個由這些常量值組成的表達式。例如:
String fruit = "apple"; switch (fruit) { case "apple": System.out.println("選擇了蘋果"); break; case "banana": System.out.println("選擇了香蕉"); break; default: System.out.println("沒有選擇水果"); }
在上面的例子中,選擇條件是字元串變數fruit的值。當fruit的值為「apple」時,會執行case “apple”下的代碼塊,並輸出「選擇了蘋果」,當fruit的值為「banana」時,會執行case “banana”下的代碼塊,並輸出「選擇了香蕉」,當fruit的值不是「apple」也不是「banana」時,會執行default下的代碼塊,並輸出「沒有選擇水果」。
三、Break關鍵字
在Java Switch語句中,break關鍵字用於終止當前分支的執行,使程序跳出switch語句。如果不使用break關鍵字,程序會繼續執行下一個case分支的代碼塊,直到遇到break關鍵字或switch語句結束為止。例如:
int i = 2; switch(i) { case 1: System.out.println("選擇了1"); case 2: System.out.println("選擇了2"); case 3: System.out.println("選擇了3"); break; default: System.out.println("沒有選擇"); }
在上面的例子中,選擇條件是變數i的值,當i的值為2時,會先執行case 2下的代碼塊,並輸出「選擇了2」,然後繼續執行case 3下的代碼塊,並輸出「選擇了3」,最後遇到break關鍵字,跳出switch語句,程序結束。
四、Switch語句的嵌套使用
Switch語句還可以嵌套使用,在內部的Switch語句中,可以使用外部Switch語句的選擇條件作為內部Switch語句的條件。例如:
int i = 1; int j = 2; switch(i) { case 1: switch(j) { case 1: System.out.println("選擇了1-1"); break; case 2: System.out.println("選擇了1-2"); break; default: System.out.println("沒有選擇"); } break; case 2: System.out.println("選擇了2"); break; default: System.out.println("沒有選擇"); }
在上面的例子中,外部Switch語句的選擇條件是變數i的值,當i的值為1時,會執行內部Switch語句,內部Switch語句的選擇條件是變數j的值,當j的值為1時,會執行case 1下的代碼塊,並輸出「選擇了1-1」,當j的值為2時,會執行case 2下的代碼塊,並輸出「選擇了1-2」,當j的值不是1也不是2時,會執行default下的代碼塊,並輸出「沒有選擇」。當外部Switch語句的選擇條件是2時,會執行case 2下的代碼塊,並輸出「選擇了2」,當外部Switch語句的選擇條件既不是1也不是2時,會執行default下的代碼塊,並輸出「沒有選擇」。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/155478.html