以下是您提供的英文文本的繁體中文翻譯,我已盡量保留原文的意味、語氣和細微差別,並使用 markdown 格式:

Java 15 - New Features

# Java 15 - 新功能

你好,未來的 Java 開發者們!我很興奮能成為你們在探索 Java 15 新功能的興奮旅程中的引路人。作為一個教導 Java 超過十年的老師,我可以自信地說,這個版本帶來了一些令人驚艷的改進。那麼,讓我們一起深入探索這些新功能吧!

## Java 控制語句

在我們深入新功能之前,讓我們快速回顧一些 Java 的基本控制語句。這些是你在編寫的幾乎每個程序中都會使用的基礎積木。

### 如果-否則語句

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

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

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

for 迴圈

for 迴圈就像是 Java 的忠實工作馬。它非常適合重複特定次數的代碼塊。

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

這個迴圈會打印從 0 到 4 的計數。這就像是告訴 Java:"嘿,從 0 開始,只要我們小於 5,就持續,每次加 1。"

面向對象編程

現在,讓我們來討論 Java 最酷的特點之一:面向對象編程(OOP)。這就像是用樂高積木建造,每塊積木都是具有自己屬性和行為的對象。

類與對象

一個類就像是一個設計圖,而一個對象就是從那個設計圖中建造出來的。讓我們創建一個簡單的 Dog 類:

public class Dog {
    String name;
    int age;

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

現在,我們可以創建一個 Dog 對象:

Dog myDog = new Dog();
myDog.name = "Buddy";
myDog.age = 3;
myDog.bark(); // 這將打印: Buddy says: 汪!

Java 內置類

Java 提供了一個寶藏般的內置類,讓我們的生活變得更容易。讓我們看兩個例子。

String 類

String 類用於處理文本。它非常常見,以至於 Java 給它特別的對待。

String greeting = "Hello, World!";
System.out.println(greeting.length()); // 打印: 13
System.out.println(greeting.toUpperCase()); // 打印: HELLO, WORLD!

ArrayList 類

ArrayList 就像是一個超強大的數組,可以根據需要增長或縮小。

import java.util.ArrayList;

ArrayList<String> fruits = new ArrayList<String>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");

System.out.println(fruits); // 打印: [Apple, Banana, Cherry]
System.out.println(fruits.get(1)); // 打印: Banana

Java 15 的新功能

現在,讓我們來探索一些 Java 15 的令人興奮的新功能!

文本塊

文本塊讓我們能夠更容易地處理多行字符串。這就像是在給你的代碼寫信!

String oldWay = "This is how we used to\n" +
                "write multi-line strings.\n" +
                "It was not very convenient.";

String newWay = """
                This is a Text Block.
                It's much easier to read
                and write multi-line strings now!
                """;

System.out.println(newWay);

newWay 字符串更清晰、更易於閱讀,不是嗎?

密封類

密封類讓你可以控制哪些其他類可以從它們繼承。這就像為你的類創建一個專屬俱樂部!

public sealed class Shape permits Circle, Square, Triangle {
    // Shape 類代碼
}

final class Circle extends Shape {
    // Circle 類代碼
}

final class Square extends Shape {
    // Square 類代碼
}

final class Triangle extends Shape {
    // Triangle 類代碼
}

// 這會導致編譯時錯誤:
// class Rectangle extends Shape { }

在這個例子中,只有 CircleSquareTriangle 被允許繼承 Shape。任何試圖繼承 Shape 的其他類都會導致錯誤。

instanceof 的模式匹配

這個功能讓我們更容易地處理不同類型的對象。這就像在代碼中有一個聰明的偵探!

Object obj = "Hello, Java 15!";

if (obj instanceof String str) {
    System.out.println(str.toUpperCase());
}

在 Java 的舊版本中,我們在 instanceof 檢查後需要將 obj 轉型為 String。現在,我們可以一行代碼完成!

記錄

記錄是一種新的類型,非常適合存儲數據。它們就像是為簡單數據對象準備的瑞士軍刀!

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

Person alice = new Person("Alice", 30);
System.out.println(alice.name()); // 打印: Alice
System.out.println(alice.age()); // 打印: 30

記錄會自動為我們生成構造函數、 getter、equals()hashCode()toString() 方法。這就像為類請來了一個個人助手!

結論

哇,我們今天涵蓋了很多內容!從基本控制語句到 Java 15 的令人興奮的新功能,你現在已經為你的 Java 編程之旅裝備了一些強大的工具。記住,編程就像學習一種新語言 - 它需要練習、耐心和堅持。但隨著這些新功能的加入,Java 正在變得更加表達性和易於使用。

當我們結束時,我想到一句著名計算機科學家 Alan Kay 的名言:"預測未來的最好方式是創造它。"有了 Java 15,你有更多的力量通過你的代碼創造未來。所以,勇往直前,試驗這些新功能,並創造一些令人驚奇的事物!

祝你編程愉快,未來的 Java 大師們!??‍??‍?

Credits: Image by storyset