Java 15 - 新機能

こんにちは、将来のJava開発者たち!Java 15の新機能についての興奮的な旅にあなたのガイドとして誇りに思っています。10年以上にわたってJavaを教えてきた者として、このバージョンは素晴らしい改善点をいくつも持っていると自信を持って言えます。それでは、一緒にこれらの新機能を探りましょう!

Java 15 - New Features

Javaの制御文

新機能に踏み込む前に、Javaの基本的な制御文を簡単に復習しましょう。これらは、あなたが書くほとんどすべてのプログラムで使用する基本的な構成要素です。

If-Else文

If-Else文は道の分岐点のようです。プログラムが特定の条件に基づいて決定を下すことを許可します。

int age = 18;
if (age >= 18) {
System.out.println("You can vote!");
} else {
System.out.println("Sorry, you're too young to vote.");
}

この例では、年齢が18歳以上の場合、プログラムは「You can vote!」と印刷します。それ以外の場合は、残念なメッセージを印刷します。

Forループ

ForループはJavaの忠実な作業馬のようです。特定回数繰り返し実行するコードブロックに最適です。

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

このループは、0から4までのカウントを印刷します。まるでJavaに「0から始めて、5未満の間、1ずつ増やして」と言っているようなものです。

オブジェクト指向プログラミング

さて、Javaの最も魅力的な側面の1つについて話しましょう:オブジェクト指向プログラミング(OOP)。これはLEGOブロックで建築するようなもので、それぞれのブロックが独自のプロパティと行動を持つオブジェクトです。

クラスとオブジェクト

クラスは設計図のようなもので、オブジェクトはその設計図から作成されるものです。簡単なDogクラスを作成してみましょう:

public class Dog {
String name;
int age;

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

さあ、Dogオブジェクトを作成します:

Dog myDog = new Dog();
myDog.name = "Buddy";
myDog.age = 3;
myDog.bark(); // これは次のことを印刷します:Buddy says: Woof!

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 { }

この例では、CircleSquare、およびTriangleだけがShapeを継承することが許可されています。他のクラスがShapeを継承しようとするとエラーが発生します。

instanceofパターンマッチング

この機能により、異なる種類のオブジェクトを操作するのが easier になります。コードの中に賢い探偵を持つようなものです!

Object obj = "Hello, Java 15!";

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

古いJavaのバージョンでは、instanceofチェックの後でobjStringにキャストする必要がありました。今では、すべてを1行で行うことができます!

レコード

レコードはデータを保存するのに最適な新しい種類のクラスで、簡単なデータオブジェクトのためのスイスアーミーナイフのようです!

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

レコードは自動的にコンストラクタ、ゲッター、equals()hashCode()、およびtoString()メソッドを生成します。クラスのためのパーソナルアシスタントを持つようなものです!

結論

わ、今日は多くのことをカバーしました!基本的な制御文からJava 15の興奮する新機能まで、あなたはJavaプログラミングの旅に非常に強力なツールを手に入れました。覚えておいてください、プログラミングは新しい言語を学ぶのと同じで、練習、忍耐、そして持続が必要です。しかし、これらの新機能により、Javaはより表現力があり、使いやすくなっています。

最後に、私たちは有名なコンピュータ科学者、Alan Kayの言葉を思い出します:「未来を予測する最良の方法は、それを発明することです。」Java 15により、あなたは未来を発明するためのさらに多くのパワーを持っています。それでは、これらの新機能を試してみて、素晴らしいものを創造してください!

ハッピーコーディング、未来のJavaマスターたち!??‍??‍?

Credits: Image by storyset