Java 12 - 新機能

こんにちは、未来のJava開発者さんたち!Java 12の世界に陪你案内するのがとても楽しみです。プログラミングを教えてきた年数を重ねてきた者として、Javaは始めるのに最高の言語だと言えますし、バージョン12はいくつかの新しい機能を持ってきました。それでは、一緒に新しい追加機能を見ていきましょう!

Java 12 - New Features

Javaの制御文

新しい機能に進む前に、Javaの基本的な制御文を簡単に復習しましょう。これらはどのプログラムの構成要素でもあり、Javaをマスターするためには理解が不可欠です。

If-Else 文

if-else 文はプログラムの分岐点のようなものです。特定の条件に基づいてコードが決定を下すことを許可します。

int age = 18;
if (age >= 18) {
System.out.println("投票できます!");
} else {
System.out.println("申し訳ありませんが、あなたは投票する年齢ではありません。");
}

この例では、プログラムは age が18歳以上かどうかをチェックします。それがtrueの場合は「投票できます!」と表示し、それ以外の場合は「あなたは投票する年齢ではありません。」と表示します。

For ループ

for ループは特定回数タスクを繰り返す忠実な作業員のようなものです。

for (int i = 1; i <= 5; i++) {
System.out.println("カウント: " + i);
}

このループは1から5までを数え、それぞれの数字を表示します。小さなカウントヘルパーがあなたのために数えてくれるようなものです!

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

それでは、Javaのスーパーパワー之一的オブジェクト指向プログラミング(OOP)について話しましょう。Javaでは、すべてはオブジェクトです(ほぼすべてです)。

クラスとオブジェクト

クラスはオブジェクトを作成するための青写真のようなものです。簡単な Dog クラスを作ってみましょう:

public class Dog {
String name;
int age;

public void bark() {
System.out.println("ワンワン!");
}
}

今、Dog オブジェクトを作成できます:

Dog myDog = new Dog();
myDog.name = "バディ";
myDog.age = 3;
myDog.bark();  // これは "ワンワン!" を表示します

すごくないですか?私たちは吠えることができるバーチャルな犬を作成しました!

Javaのビルトインクラス

Javaには私たちの生活をより簡単にするために多くのビルトインクラスが用意されています。最もよく使われるクラスの一つを見てみましょう:String クラス。

String greeting = "こんにちは、世界!";
System.out.println(greeting.length());  // 13を表示します
System.out.println(greeting.toUpperCase());  // "こんにちは、世界!"を大文字に変換して表示します

String クラスには、length() で文字列の長さを取得するや、toUpperCase() で文字列を大文字に変換するなどの便利なメソッドがたくさんあります。

Java 12の新機能

それでは、Java 12で導入されたいくつかの興味深い新機能を見てみましょう!

スイッチ式(プレビュー機能)

Java 12では、スイッチ式のプレビューが導入されました。これにより、スイッチステートメントがより強力で簡潔になります。

String day = "月曜日";
String result = switch (day) {
case "月曜日", "金曜日", "日曜日" -> "リラックス";
case "火曜日" -> "がんばる";
case "木曜日", "土曜日" -> "スポーツを楽しむ";
case "水曜日" -> "ショッピングに行く";
default -> "未知の曜日";
};
System.out.println(result);

この新しいシンタックスにより、矢印(->)を使ってコロンと break ステートメントを省略できるため、コードがクリーンでエラーが少なくなります。

String クラスの強化

Java 12では String クラスにいくつかの新しいメソッドが追加されました。そのうちの一つは indent() で、文字列の各行にインデントを追加または削除することができます。

String text = "こんにちは\n世界";
System.out.println(text.indent(4));

これは以下のように表示されます:

こんにちは
世界

インデントが4スペース追加されています。すごいですね?

Collectors.teeing()

Java 12では新しいコレクタ「teeing()」が導入されました。これは2つの別のコレクタを持ち、その結果を結合するようなものです。

import java.util.stream.Collectors;

double mean = List.of(1, 2, 3, 4, 5)
.stream()
.collect(Collectors.teeing(
Collectors.summingDouble(i -> i),
Collectors.counting(),
(sum, count) -> sum / count));

System.out.println("平均: " + mean);  // "平均: 3.0" を表示します

このコードはリストの数の平均を計算するために新しい teeing() コレクタを使っています。少し高度ですが、JavaのストリームAPIがどれほど強力であるかを示しています!

結論

私たちはJava 12の新機能の表面をかすめているだけですが、これで何か新しいことができる可能性を感じていただけることを願っています。コードを学ぶことは新しい言語を学ぶのと同じで、時間と練習が必要ですが、非常に報酬があります。

このまとめを終えるにあたり、ある生徒が私に言ったことを思い出しました。「Javaはスイスアーミーナイフのようです - すべての仕事に対応するツールがあります!」そして、彼は完全に正しかったです。新しいバージョンごとにJavaはそのナイフにさらに多くのツールを追加し、ますます多様で強力なものになります。

codingを続け、学び続け、最も重要なのは楽しむことです!Javaの世界は広大で興奮するもので、あなたはその旅の始まりにすぎません。誰かがJava 13の次の大きな機能を作るかもしれないのは、あなたかもしれません!

Credits: Image by storyset