今天要製作CLI 也就是cammand line interface 方便之後的測試跟操作
由於今天單純改都會的東西,後面又稍微看了一些filewriter 之類的在java能做的事情
overall CLI長這樣:
然後今天多學會了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
大致是這樣;