Java 14 - 新功能

你好,有志於Java程式設計的各位!我很高興能夠帶領你們進入Java 14及其新功能的精彩世界。作為一個教導計算機科學多年的老師,我可以確保你們,學習Java就像踏上了一場冒險——總有新的事物等待著你去發現。那麼,讓我們一起潛入Java 14的奇蹟吧!

Java 14 - New Features

Java 控制語句

在我們深入Java 14的新功能之前,讓我們快速回顧一些基本控制語句。這些是任何Java程序的基石,理解它們對於精通這種語言至關重要。

如果-否則語句

如果-否則語句就像道路上的分叉——它允許你的程序基於某些條件進行決策。

int age = 18;
if (age >= 18) {
System.out.println("你可以投票!");
} else {
System.out.println("對不起,你還太小,無法投票。");
}

在這個例子中,如果年齡大於或等於18歲,程序將會打印 "你可以投票!"。否則,它將打印 "對不起,你還太小,無法投票。"

for循環

for循環就像一個旋转木馬——它允許你重複一段代碼指定的次數。

for (int i = 1; i <= 5; i++) {
System.out.println("計數: " + i);
}

這個循環將打印數字1到5,每個數字佔一行。

面向對象程式設計

Java是一種面向對象程式設計(OOP)語言,這意味著它是基於"對象"的概念,這些對象包含數據和代碼。讓我們看一個簡單的類別範例:

public class Dog {
String name;
int age;

public void bark() {
System.out.println(name + " says: 汪!");
}
}

在這裡,我們定義了一個Dog類別,它有屬性(name和age)和方法(bark)。你可以這樣創建和使用這個類別的對象:

Dog myDog = new Dog();
myDog.name = "Buddy";
myDog.age = 3;
myDog.bark(); // 輸出: Buddy says: 汪!

Java 內置類別

Java提供了許多內置類別,讓我們的生活變得更加輕鬆。其中最常用的是String類別。

String greeting = "Hello, Java 14!";
System.out.println(greeting.length()); // 輸出: 16
System.out.println(greeting.toUpperCase()); // 輸出: HELLO, JAVA 14!

Java 文件處理

文件處理對於許多應用程序來說至關重要。以下是一個簡單的寫入文件的例子:

import java.io.FileWriter;
import java.io.IOException;

public class FileWriteExample {
public static void main(String[] args) {
try {
FileWriter writer = new FileWriter("output.txt");
writer.write("Hello, Java 14!");
writer.close();
System.out.println("成功寫入文件。");
} catch (IOException e) {
System.out.println("發生錯誤。");
e.printStackTrace();
}
}
}

這段代碼創建了一個名為"output.txt"的文件,並將"Hello, Java 14!"寫入其中。

Java 錯誤與異常

錯誤和異常是編程生活中的一部分。Java提供了一個強大的機制來處理它們。以下是一個例子:

public class DivisionExample {
public static void main(String[] args) {
try {
int result = 10 / 0;
System.out.println("結果: " + result);
} catch (ArithmeticException e) {
System.out.println("錯誤:不能除以零!");
}
}
}

這個程序試圖除以零,這通常會導致錯誤。然而,我們將其包裹在try-catch塊中以優雅地處理異常。

Java 14的新功能

現在,讓我們探討一些在Java 14中引入的令人興奮的新功能!

記錄

記錄是Java 14中的一種新型類別,它讓創建有簡單、不可變數據載體的類別變得容易。當你只需要一個類別來保存一些數據時,它們非常適合。

public record Person(String name, int age) { }

這個簡單的聲明創建了一個具有兩個字段(name和age)、構造函數以及如equals()hashCode()toString()等方法類別。它等價於一個傳統類別定義的長得多!

instanceof的樣式匹配

Java 14引入了一個包含樣式匹配的改进版的instanceof運算符。這使得你的代碼更簡潔且易於閱讀。

if (obj instanceof String s) {
// 在這裡可以使用s作為String
System.out.println(s.length());
}

在這個例子中,如果obj是一個String,它將自動被轉為String並將變量س分配給它。

Switch 表達式

Switch表達式在早期的版本中已經被預覽,現在在Java 14中成為了標準。它們允許你將switch作為表達式使用,並產生一個值。

String dayType = switch(dayOfWeek) {
case MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY -> "工作日";
case SATURDAY, SUNDAY -> "週末";
};

這個switch表達式根據dayOfWeek的值將"工作日"或"週末"分配給dayType

有用的空指針異常

Java 14提供了更為有用的NullPointerException消息,準確指出哪個變量是空的。

Person person = null;
System.out.println(person.name);

而不是一個通用的NullPointerException,你會得到一個像"不能調用 'Person.getName()' 因為 'person' 是空的"這樣的消息。

這些只是Java 14中的一些新功能。在你繼續你的Java旅程時,你會發現這種強大語言的許多其他令人興奮的功能。記住,編程是一項通過練習來提高的技能,所以不要害怕嘗試和編寫大量代碼!

未來的Java專家們,快樂編程!

Credits: Image by storyset