Deutsch (DE) Übersetzung

Hier ist die Übersetzung des gegebenen Textes ins Deutsche:

Java 16 - New Features

Java 16 - Neue Funktionen

Hallo da draußen, ambitionierte Java-Programmierer! Ich freue mich sehr, Ihr Guide auf dieser aufregenden Reise durch die Welt von Java 16 zu sein. Als jemand, der seit vielen Jahren Programmieren unterrichtet, kann ich Ihnen sagen, dass Java wie ein Schweizer Army Knife in der Programmierwelt ist - vielseitig, kraftvoll und immer am Evolvieren. Heute werden wir die glänzenden neuen Funktionen erkunden, die Java 16 mit auf den Tisch bringt. Also holen Sie sich Ihr Lieblingsgetränk, machen Sie es sich bequem, und tauchen wir ein!

Java-Steuersätze

Bevor wir uns den neuen Funktionen zuwenden, lassen Sie uns schnell einige grundlegende Steuersätze in Java复查. Diese sind die Bausteine, die uns helfen, den Fluss unserer Programme zu steuern.

If-Else-Anweisung

Die If-Else-Anweisung ist wie ein Verkehrs cop für Ihren Code. Sie lenkt den Fluss basierend auf bestimmten Bedingungen.

int alter = 18;
if (alter >= 18) {
System.out.println("Du darfst wählen!");
} else {
System.out.println("Tut mir leid, du bist zu jung zum Wählen.");
}

In diesem Beispiel wird "Du darfst wählen!" ausgegeben, wenn das Alter 18 oder darüber beträgt. Andernfalls wird die Bedauernsnachricht ausgegeben.

For-Schleife

Die For-Schleife ist wie ein treuer Arbeiter, der Aufgaben für uns wiederholt.

for (int i = 1; i <= 5; i++) {
System.out.println("Zähler: " + i);
}

Diese Schleife wird von 1 bis 5 zählen und jede Zahl ausgeben.

Objektorientierte Programmierung

Java dreht sich alles um Objekte, wie die Welt um uns herum. Lassen Sie uns eine einfache Klasse erstellen, um dies zu demonstrieren.

public class Hund {
String name;
int alter;

public void bellen() {
System.out.println(name + " sagt Wuff!");
}
}

// Verwendung der Hund-Klasse
Hund meinHund = new Hund();
meinHund.name = "Buddy";
meinHund.alter = 3;
meinHund.bellen();  // Ausgabe: Buddy sagt Wuff!

Hier haben wir eine Hund-Klasse mit Eigenschaften (Name und Alter) und einer Methode (bellen) erstellt. Wir können Hund-Objekte erstellen und sie bellen lassen!

Java-Build-in-Klassen

Java kommt mit vielen integrierten Klassen, die unser Leben einfacher machen. Lassen Sie uns die String-Klasse betrachten, die in Java 16 einige coole Updates erhalten hat.

String name = "John Doe";
System.out.println(name.toLowerCase());  // john doe
System.out.println(name.toUpperCase());  // JOHN DOE
System.out.println(name.length());       // 8

Neue Funktionen in Java 16

Nun tauchen wir ein in einige der aufregenden neuen Funktionen in Java 16!

Records

Records sind ein Game-Changer für die Erstellung einfacher Datenüberträgerklassen. Sie sind wie ein Shortcut für die Erstellung von Klassen, die nur dazu gedacht sind, Daten zu speichern.

record Person(String name, int alter) {}

// Verwendung des Records
Person john = new Person("John Doe", 30);
System.out.println(john.name());  // John Doe
System.out.println(john.alter());   // 30

Mit Records generiert Java automatisch Konstruktoren, Getter, equals(), hashCode() und toString() Methoden für uns. Es ist, als hätte man einen persönlichen Assistenten, der all den Boilerplate-Code für einen erledigt!

Musteranpassung für instanceof

Diese Funktion macht Typprüfungen und Casts kürzer und weniger fehleranfällig.

Object obj = "Hallo, Java 16!";
if (obj instanceof String s) {
System.out.println(s.toUpperCase());
}

In diesem Beispiel überprüfen wir, ob obj eine String ist, und wenn ja, casten wir es automatisch zur String-Variable s. Kein Bedarf für explizites Casten!

Abgeschlossene Klassen

Abgeschlossene Klassen erlauben es uns, zu beschränken, welche anderen Klassen sie erweitern können. Es ist wie die Schaffung eines exklusiven Clubs für Klassen!

public sealed class Form permits Kreis, Quadrat, Dreieck {
// Form Implementierung
}

final class Kreis extends Form {
// Kreis Implementierung
}

final class Quadrat extends Form {
// Quadrat Implementierung
}

final class Dreieck extends Form {
// Dreieck Implementierung
}

In diesem Beispiel können nur Kreis, Quadrat und Dreieck Form erweitern. Jegliche andere Klasse, die versucht, Form zu erweitern, wird zu einem Kompilierungsfehler führen.

Java-Dateiverarbeitung

Dateiverarbeitung ist für viele Anwendungen entscheidend. Lassen Sie uns sehen, wie wir mit Java 16 aus einer Datei lesen können.

import java.nio.file.Files;
import java.nio.file.Path;

try {
String inhalt = Files.readString(Path.of("beispiel.txt"));
System.out.println(inhalt);
} catch (IOException e) {
System.out.println("Ein Fehler ist aufgetreten: " + e.getMessage());
}

Dieser Code liest den gesamten Inhalt von "beispiel.txt" in eine Zeichenkette. Die neue readString-Methode macht das Lesen von Dateien zum Kinderspiel!

Java-Fehler und Ausnahmen

Das Graceful Handling von Fehlern ist ein Merkmal guter Programmierung. Lassen Sie uns einen try-catch-Block betrachten:

try {
int ergebnis = 10 / 0;  // Dies wird eine ArithmeticException auslösen
} catch (ArithmeticException e) {
System.out.println("Hoppla! Du kannst nicht durch null teilen.");
} finally {
System.out.println("Dies wird immer ausgeführt, egal was!");
}

Hier versuchen wir, durch null zu teilen (was in Mathematik ein großes Nein ist!). Java fängt diesen Fehler und lässt uns ihn elegant behandeln.

Java-Multithreading

Multithreading ermöglicht es unseren Programmen, gleichzeitig mehrere Dinge zu tun. Es ist wie das Können, gleichzeitig die Stirn zu kitzeln und den Bauch zu reiben!

class MeinThread extends Thread {
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getId() + " Wert " + i);
}
}
}

public class Haupt {
public static void main(String args[]) {
MeinThread t1 = new MeinThread();
MeinThread t2 = new MeinThread();
t1.start();
t2.start();
}
}

Dies erstellt zwei Threads, die gleichzeitig laufen und jede eine Reihe von Zahlen ausgeben.

Java-Synchronisation

Wenn mehrere Threads auf gemeinsame Ressourcen zugreifen, müssen wir sie synchronisieren, um Konflikte zu vermeiden. Es ist wie das Sicherstellen, dass zwei Personen nicht gleichzeitig durch eine Tür gehen!

class Zähler {
private int zähler = 0;

public synchronized void inkrementieren() {
zähler++;
}

public int getZähler() {
return zähler;
}
}

Das synchronized-Schlüsselwort stellt sicher, dass nur ein Thread die inkrementieren()-Methode gleichzeitig ausführen kann.

Zusammenfassend bringt Java 16 eine Reihe aufregender neuer Funktionen, die unser Programmieren vidaus einfacher und produktiver machen. Von Records, die Boilerplate-Code reduzieren, bis hin zur Musteranpassung, die Typprüfungen und Casts vereinfacht, sind diese Funktionen darauf ausgelegt, Java ausdrucksstärker und weniger wortreich zu machen.

Denken Sie daran, das Lernen zu programmieren ist eine Reise, keine Destination. Bleiben Sie neugierig, üben Sie weiter und haben Sie keine Angst vor Fehlern - das ist, wie wir lernen und wachsen als Programmierer. Frohes Programmieren und möge Ihre Kaffee stark sein und Ihre Fehler selten!

Credits: Image by storyset