iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0

今天要製作CLI 也就是cammand line interface 方便之後的測試跟操作
由於今天單純改都會的東西,後面又稍微看了一些filewriter 之類的在java能做的事情

overall CLI長這樣:
https://ithelp.ithome.com.tw/upload/images/20250928/20178846a9FvgvFjuZ.png

然後今天多學會了switc 的->用法:
傳統 switch(Java 13 以前)
int day = 2;
switch (day) {
case 1:
System.out.println("Mon");
break;
case 2:
System.out.println("Tue");
break;
case 3:
System.out.println("Wed");
break;
default:
System.out.println("Other");
}

問題是:
每個 case 都要寫 break,不然會「fall through」到下一個 case,程式碼冗長。

新版 switch (Java 14+ Arrow Syntax)
int day = 2;
switch (day) {
case 1 -> System.out.println("Mon");
case 2 -> System.out.println("Tue");
case 3 -> System.out.println("Wed");
default -> System.out.println("Other");
}

特點:
不需要 break
每個 case 是「獨立的規則」
更簡潔、更安全

Switch Expression(可回傳值)
新版 switch 不只是語句 (statement),還能當「運算式 (expression)」直接回傳值。

String result = switch (day) {
case 1 -> "Mon";
case 2 -> "Tue";
case 3 -> "Wed";
default -> "Other";
};

System.out.println(result); // Tue

多個 case 合併,可以用逗號,把多個 case 合併:

String type = "apple";
String category = switch (type) {
case "apple", "banana", "orange" -> "Fruit";
case "carrot", "potato" -> "Vegetable";
default -> "Unknown";
};
System.out.println(category); // Fruit

大致是這樣;


上一篇
Day 13 透過setter method 更改 private field
下一篇
Day 15: learning about "filewriter"
系列文
Java 學生管理系統:打造可新增、刪除、修改、搜尋並保存資料的完整 CLI 應用16
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言