Java 12 - Neue Funktionen

Hallo zusammen, zukünftige Java-Entwickler! Ich freue mich sehr, euer Guide auf dieser aufregenden Reise durch die Welt von Java 12 zu sein. Als jemand, der seit vielen Jahren Programmierung unterrichtet, kann ich euch versichern, dass Java eine fantastische Sprache zum Einstieg ist, und Version 12 bringt einige coole neue Funktionen mit. Lassen wir uns also hineinTauchen und diese neuen Ergänzungen gemeinsam erkunden!

Java 12 - New Features

Java-Control-Statements

Bevor wir zu den neuen Funktionen übergehen, lassen wir uns schnell einige grundlegende Kontrollanweisungen in Java anschauen. Diese sind die Bausteine jedes Programms und ihr Verständnis ist entscheidend für das Beherrschen von Java.

If-Else-Anweisung

Die if-else-Anweisung ist wie eine Gabelung im Weg für euer Programm. Sie ermöglicht es eurem Code, basierend auf bestimmten Bedingungen Entscheidungen zu treffen.

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

In diesem Beispiel überprüft das Programm, ob das alter 18 oder älter ist. Wenn ja, wird "Du darfst wählen!" ausgegeben. Andernfalls wird die "zu jung"-Nachricht ausgegeben.

For-Schleife

Die for-Schleife ist wie ein treuer Arbeiter, der eine Aufgabe eine bestimmte Anzahl von Malen 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. Es ist, als hätte man einen kleinen Helfer, der für einen zählt!

Objektorientierte Programmierung

Nun sprechen wir über eine der Superkräfte von Java: die objektorientierte Programmierung (OOP). In Java ist alles ein Objekt (nahezu alles).

Klassen und Objekte

Stellt euch eine Klasse als Blueprint für die Erstellung von Objekten vor. Lassen wir eine einfache Dog-Klasse erstellen:

public class Dog {
String name;
int age;

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

Jetzt können wir Dog-Objekte erstellen:

Dog meinHund = new Dog();
meinHund.name = "Buddy";
meinHund.age = 3;
meinHund.bark();  // Dies wird "Wuff! Wuff!" ausgeben

Ist das nicht cool? Wir haben gerade einen virtuellen Hund erstellt, der bellen kann!

Java-Built-in-Klassen

Java kommt mit vielen eingebauten Klassen, die unser Leben einfacher machen. Sehen wir uns eine der am häufigsten verwendeten an: die String-Klasse.

String begrüßung = "Hallo, Welt!";
System.out.println(begrüßung.length());  // Gibt 13 aus
System.out.println(begrüßung.toUpperCase());  // Gibt "HALLO, WELT!" aus

Die String-Klasse hat viele nützliche Methoden wie length() zur Bestimmung der Länge einer Zeichenkette und toUpperCase() zum Umwandeln in Großbuchstaben.

Neue Funktionen in Java 12

Nun tauchen wir ein in einige der aufregenden neuen Funktionen, die in Java 12 vorgestellt wurden!

Switch-Ausdrücke (Vorschau-Funktion)

Java 12 hat eine Vorschau von Switch-Ausdrücken eingeführt, die Switch-Anweisungen leistungsfähiger und kompakter machen.

String tag = "MONDAY";
String ergebnis = switch (tag) {
case "MONDAY", "FRIDAY", "SUNDAY" -> "Entspannen";
case "TUESDAY" -> " hart arbeiten";
case "THURSDAY", "SATURDAY" -> "Sport treiben";
case "WEDNESDAY" -> "Einkaufen gehen";
default -> "Unbekannter Tag";
};
System.out.println(ergebnis);

Diese neue Syntax ermöglicht es uns, Pfeile (->) anstelle von Doppelpunkten und break-Anweisungen zu verwenden, was den Code sauberer und weniger fehleranfällig macht.

Verbesserungen an der String-Klasse

Java 12 hat einige neue Methoden zur String-Klasse hinzugefügt. Eine davon ist indent(), die es ermöglicht, jede Zeile in einer Zeichenkette einzurücken oder Einrückungen zu entfernen.

String text = "Hallo\nWelt";
System.out.println(text.indent(4));

Dies wird ausgeben:

Hallo
Welt

Jede Zeile ist um 4 Leerzeichen eingerückt. Praktisch, nicht wahr?

Collectors.teeing()

Java 12 hat einen neuen Sammler namens teeing() eingeführt. Es ist, als hätte man zwei separate Sammler und kombiniert dann ihre Ergebnisse.

import java.util.stream.Collectors;

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

System.out.println("Mittelwert: " + durchschnitt);  // Gibt "Mittelwert: 3.0" aus

Dieser Code berechnet den Mittelwert einer Liste von Zahlen mithilfe des neuen teeing()-Sammlers. Es ist etwas fortgeschrittener, aber es zeigt, wie leistungsfähig Java's Stream-API sein kann!

Fazit

Wir haben nur die Oberfläche der neuen Funktionen in Java 12 angerissen, aber ich hoffe, das gibt euch einen kleinen Vorgeschmack darauf, was möglich ist. Denkt daran, das Lernen zu programmieren ist wie das Lernen einer neuen Sprache - es erfordert Zeit und Übung, aber es ist unglaublich lohnend.

Als wir aufhören, erinnere ich mich an einen Schüler, der mir einmal sagte: "Java ist wie ein Schweizer Taschenmesser - es hat ein Werkzeug für jede Aufgabe!" Und wisst ihr was? Er hatte vollkommen recht. Mit jeder neuen Version fügt Java mehr Werkzeuge zu diesem Messer hinzu, machen es noch vielseitiger und leistungsfähiger.

Weiter codieren, weiter lernen und vor allem: Spaß haben! Die Welt von Java ist riesig und spannend, und ihr seid erst am Anfang eurer Reise. Wer weiß? Vielleicht werdet ihr derjenige sein, der die nächste große Funktion in Java 13 erstellt!

Credits: Image by storyset