Java - 選擇語句:初學者指南

你好,未來的Java開發者!今天,我們將深入探討Java中最有用的控制流程語句之一:選擇語句(switch statement)。作為你友善的鄰居電腦科學老師,我非常高興能夠引導你進行這次學習之旅。所以,拿起你最喜歡的飲料,放鬆一下,讓我們一起踏上這次編程冒險吧!

Java - Switch

選擇語句是什麼?

在我們深入選擇語句的複雜細節之前,先從一個容易理解的類比開始。想像你站在衣櫥前,根據天氣決定要穿什麼。你可能會這樣想:

  • 如果天氣晴朗,我就穿T恤。
  • 如果下雨,我會拿傘。
  • 如果下雪,我會穿上厚外套。
  • 無論其他天氣,我就穿一般的衣服。

這種決策過程正是Java中選擇語句所做的!它允許你根據單個變量或表達式的值執行不同的代碼塊。

選擇語句的語法

現在,讓我們看看選擇語句的基本語法:

switch (expression) {
case value1:
// 代碼塊
break;
case value2:
// 代碼塊
break;
case value3:
// 代碼塊
break;
default:
// 代碼塊
}

如果一開始覺得有點讓人畏懼,別擔心。我們將一步一步地解析它!

关键組件:

  1. switch關鍵字:這就是我們告訴Java我們正在使用選擇語句的方式。
  2. expression:這是我們要檢查的變量或表達式。
  3. case:每個case代表表達式的一個可能值。
  4. break:這個關鍵字告訴Java在執行了一個case後退出switch塊。
  5. default:這就像我們的“無論其他天氣”選項 - 如果沒有case匹配,它就會運行。

選擇語句的規則

現在,讓我們來看看在使用選擇語句時需要牢記的一些重要規則:

  1. 在選擇中使用的表達式必須是像int,char或列舉這樣的基本類型。從Java 7開始,它也可以是String。
  2. Case值必須是與switch表達式同類型的編譯時常量。
  3. 沒有兩個case值可以相同。
  4. Default case是可選的,可以出現在switch塊中的任何位置。
  5. 如果沒有使用break語句,則執行將繼續到後續的case,直到遇到break或switch結束。

流程圖

為了視覺化選擇語句是如何工作的,讓我們看一下簡單的流程圖:

+-------------+
| expression  |
+-------------+
|
v
+-------------+
|  case 1?    |----> 執行case 1代碼
+-------------+
|
v
+-------------+
|  case 2?    |----> 執行case 2代碼
+-------------+
|
v
+-------------+
|  case 3?    |----> 執行case 3代碼
+-------------+
|
v
+-------------+
|  default    |----> 執行default代碼
+-------------+

選擇語句的例子

現在,讓我們通過一些例子來把我們的知識付諸實踐!

示例1:星期幾

public class DayPrinter {
public static void main(String[] args) {
int day = 4;
String dayName;

switch (day) {
case 1:
dayName = "星期一";
break;
case 2:
dayName = "星期二";
break;
case 3:
dayName = "星期三";
break;
case 4:
dayName = "星期四";
break;
case 5:
dayName = "星期五";
break;
case 6:
dayName = "星期六";
break;
case 7:
dayName = "星期日";
break;
default:
dayName = "無效的日期";
break;
}
System.out.println(dayName);
}
}

在這個例子中,我們使用選擇語句將日期數字轉換為其相應的名字。程序將輸出“星期四”,因為day的值是4。

示例2:成績計算器

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

switch(grade) {
case 'A':
System.out.println("優秀!");
break;
case 'B':
case 'C':
System.out.println("做得好");
break;
case 'D':
System.out.println("你及格了");
break;
case 'F':
System.out.println("最好再試一次");
break;
default:
System.out.println("無效的成績");
}
}
}

這個例子演示了我們如何使用char值進行switch語句。它還展示了如果我們想要它們執行相同的代碼,可以如何將case組合在一起(B和C)。

Default關鍵字

選擇語句中的default關鍵字就像一個安全網。它捕獲任何與case不匹配的值。讓我們看一下例子:

public class SeasonChecker {
public static void main(String[] args) {
String month = "四月";
String season;

switch (month.toLowerCase()) {
case "十二月":
case "一月":
case "二月":
season = "冬季";
break;
case "三月":
case "四月":
case "五月":
season = "春季";
break;
case "六月":
case "七月":
case "八月":
season = "夏季";
break;
case "九月":
case "十月":
case "十一月":
season = "秋季";
break;
default:
season = "無效的月份";
break;
}
System.out.println("當前季節是 " + season);
}
}

在這個例子中,如果我們輸入一個不在我們列表中的月份(例如“Octember”),default case將捕獲它,並將“無效的月份”賦值給季節變量。

總結

好了,各位!我們已經瀏覽了Java選擇語句的領域,從其基本語法到更複雜的例子。請記住,練習成就完美,所以不要害怕嘗試自己的switch語句。

在我們結束之前,這裡有一個快速表格,總結了關於選擇語句的一些關鍵點:

特性 描述
目的 根據表達式的值執行不同的代碼塊
表達式類型 int,char,String(Java 7+),enum
Case值 必須是編譯時常量
Break語句 用於退出switch塊
Default Case 可選,處理其他case未涵蓋的值

我希望這本指南能夠幫助你照亮選擇語句的世界。繼續編碼,繼續學習,並且記住 - 在生活的偉大switch語句中,你永遠是default case:獨特而特殊!

Credits: Image by storyset