Java-Dokumentation
Kompakte, beispielorientierte Java-Referenz. Konzept lesen, Code ansehen, dann in einem Coddy-Lernweg üben.
Geführten Java-Lernweg startenErste Schritte
- Was ist JavaWas Java tatsächlich ist, wie die JVM ein einziges kompiliertes Programm überall laufen lässt und welche Art von Software mit Java gebaut wird.
- Java installierenWie du das Java Development Kit (JDK) installierst, Version und Anbieter auswählst und prüfst, dass java und javac über die Kommandozeile funktionieren.
- Java ausführenDer zweistufige Kompilieren-dann-Ausführen-Zyklus hinter jedem Java-Programm: Verwandle den .java-Quelltext mit javac in Bytecode und führe dann die .class-Datei mit java aus.
- Java-SyntaxDie Form eines Java-Programms - die `main`-Methode, Anweisungen und Semikolons, Blöcke und geschweifte Klammern sowie die Regeln, die der Compiler erzwingt, bevor dein Code überhaupt läuft.
- KommentareWie man in Java Kommentare schreibt: einzeilige //-Kommentare, mehrzeilige /* */-Blöcke und Javadoc-Dokumentationskommentare /** */ - plus wann man welchen einsetzt und was man vermeiden sollte.
Variablen & Typen
- VariablenWie Variablen in Java funktionieren - das Deklarieren mit einem Typ, das Zuweisen von Werten, die Benennungsregeln, das Schlüsselwort var, Konstanten mit final und die Regeln des Gültigkeitsbereichs, die festlegen, wo eine Variable lebt.
- DatentypenJavas Datentypen erklärt: die acht primitiven Typen, Referenztypen, Standardwerte, Literale und Suffixe, Überlauf und wann man welchen numerischen Typ verwendet.
- StringsWie Java-Strings funktionieren: erstellen, mit + verbinden, warum sie unveränderlich sind, mit equals vergleichen und die alltäglichen String-Methoden wie length, substring und replace.
- String-FormatierungWie man in Java Strings mit String.format und printf formatiert - die Format-Spezifizierer für Zahlen, Auffüllung und Dezimalstellen sowie Text Blocks und die formatted-Methode.
- OperatorenWie Java-Operatoren funktionieren - arithmetisch, Vergleich, logisch, Zuweisung, Inkrement und der ternäre Operator - sowie Ganzzahldivision, Vorrang und die Stolperfallen, die Anfänger erwischen.
- TypumwandlungWie Java zwischen Typen konvertiert: automatische Erweiterung, explizite einschränkende Casts, welche Daten beim Einschränken verloren gehen und das Konvertieren zwischen Zahlen und Strings.
Kontrollfluss
- if-elseWie man in Java mit if, else if und else Entscheidungen trifft: boolesche Bedingungen, das Verketten von Zweigen, Verschachtelung, der ternäre Operator und die häufigen Fehler, über die viele stolpern.
- switchDie Java switch-Anweisung erklärt: case-Labels, break und Fall-Through, der default-Zweig, das Gruppieren von Cases, die moderne Pfeilform und switch-Ausdrücke.
- for-SchleifeDie Java for-Schleife erklärt: die klassische dreiteilige Schleife, das Durchlaufen von Arrays und Listen, verschachtelte Schleifen, break und continue sowie das erweiterte for-each.
- while-SchleifenDie Java while-Schleife erklärt: das while, das die Bedingung zuerst prüft, das do-while, das mindestens einmal läuft, das Einlesen von Eingaben bis zu einem Sentinel-Wert, break und continue sowie das Vermeiden von Endlosschleifen.
- for-each-SchleifeDie Java-for-each-Schleife (erweitertes for) erklärt: sauberes Iterieren über Arrays und Collections, wann man sie einsetzt und der Modifikations-Fallstrick, über den jeder stolpert.
Arrays & Sammlungen
- ArraysWie Arrays in Java funktionieren - feste Länge, Deklaration und Initialisierung, Indizierung, length, Schleifen, mehrdimensionale Arrays und die Hilfsklasse Arrays.
- ArrayListWie man Javas ArrayList nutzt - die größenveränderliche Liste, zu der man statt eines einfachen Arrays greift - mit Hinzufügen, Lesen, Entfernen, Größe, Durchlaufen und Sortieren.
- HashMapWie man Javas HashMap für Schlüssel-Wert-Abfragen verwendet: put, get, getOrDefault, containsKey, über Einträge iterieren und die Muster, die du am häufigsten brauchst.
- HashSetWie man Javas HashSet für Sammlungen eindeutiger Werte nutzt - add, contains, remove, eine Liste deduplizieren und Mengen mit Vereinigung, Schnittmenge und Differenz kombinieren.
- Collections durchlaufenDie Wege, um Java-Collections zu durchlaufen - die for-each-Schleife, der Iterator, indexbasierte Schleifen und die forEach-Methode - und wie man Elemente während der Iteration sicher entfernt.
Methoden
- MethodenWas eine Java-Methode ist, wie man sie deklariert und aufruft, Rückgabewerte versus void, die statische main-Methode und wie Methoden den Code organisiert und wiederverwendbar halten.
- MethodenparameterWie Java-Methodenparameter funktionieren - Argumente übergeben, der Unterschied zwischen Parametern und Argumenten, Javas Pass-by-Value-Regel und das Zurückgeben von Werten.
- MethodenüberladungWie die Methodenüberladung in Java mehreren Methoden erlaubt, sich einen Namen zu teilen, aber unterschiedliche Parameter zu nehmen, wie der Compiler eine Überladung auswählt und welche Mehrdeutigkeitsfallen zu vermeiden sind.
- VarargsWie Javas Varargs (...) eine Methode beliebig viele Argumente annehmen lassen, wie sie zu einem Array werden, die Regel des einen Vararg ganz am Ende sowie die Stolperfallen beim leeren Aufruf und bei Mehrdeutigkeit.
Klassen & Objekte
- KlassenWas eine Java-Klasse ist, wie man Felder und Methoden definiert, Objekte mit new erzeugt, welche Rolle this spielt und warum der Instanzzustand am Objekt liegt.
- KonstruktorenWie Java-Konstruktoren funktionieren: der Standardkonstruktor, parametrisierte Konstruktoren, this, Konstruktor-Überladung und Verkettung mit this() und super().
- VererbungWie eine Java-Unterklasse mit extends Felder und Methoden erbt, über super die Oberklasse aufruft und Verhalten überschreibt - samt der häufigsten Stolperfallen.
- InterfacesWas ein Java-Interface ist, wie man eines definiert und implementiert, default- und static-Methoden und wie sich Interfaces von abstrakten Klassen unterscheiden.
- Abstrakte KlassenWas eine abstrakte Klasse in Java ist, wie man abstrakte Methoden deklariert, warum man sie nicht instanziieren kann und wann man eine abstrakte Klasse statt eines Interface wählt.
- PolymorphieWie Polymorphie in Java es einer Variablen erlaubt, auf viele Typen zu verweisen, warum überschriebene Methoden zur Laufzeit aufgelöst werden und wie man Upcasting, Downcasting und instanceof sicher einsetzt.
- ZugriffsmodifikatorenWie Javas vier Zugriffsebenen - public, private, protected und package-private - steuern, was anderer Code sehen und anfassen darf.
- Statische MemberWas das Schlüsselwort static in Java bewirkt, wie static Felder und Methoden zur Klasse statt zu den Objekten gehören und wann man zu static-Blöcken und Konstanten greift.
- EnumsWas ein Java-Enum ist, wie man eines deklariert, Felder und Methoden hinzufügt, darüber per switch verzweigt und warum ein Enum besser ist als ein Haufen int- oder String-Konstanten.
Generics & Funktional
- GenericsWas Java-Generics sind, wie man generische Klassen und Methoden schreibt, beschränkte Typparameter, Wildcards und warum Type Erasure wichtig ist.
- Lambda-AusdrückeWas ein Java-Lambda-Ausdruck ist, die Pfeil-Syntax, wie er ein funktionales Interface implementiert, Methodenreferenzen und das Erfassen von Variablen.
- StreamsWie man Collections mit Javas Stream-API verarbeitet - filter, map, sorted, collect, count und reduce - und dabei lesbare Pipelines statt manueller Schleifen baut.
- OptionalWas java.util.Optional ist, wie man eines erstellt und wie man seinen Wert mit map, filter, orElse und ifPresent sicher ausliest, statt mit null-Prüfungen.
Fehler & Debugging
- ExceptionsWas eine Java-Exception ist, wie man einen Stack-Trace liest, die Unterscheidung zwischen checked und unchecked, die Exception-Hierarchie und wie man eigene Exceptions wirft.
- try-catchWie man try-catch in Java zur Ausnahmebehandlung nutzt: bestimmte Typen abfangen, der finally-Block, try-with-resources und die Fehler, die Bugs verstecken.
- NullPointerExceptionWas eine NullPointerException in Java wirklich bedeutet, die häufigen Wege, sie auszulösen, wie man die Meldung liest und welche Muster sie verhindern.