Menu
Coddy logo textTech

Java Spickzettel

Zuletzt aktualisiert

Hello World & Programmaufbau

Jedes Java-Programm läuft von einer main-Methode innerhalb einer Klasse aus.

ElementCode
Klassendeklarationpublic class Main { ... }
Einstiegspunktpublic static void main(String[] args) { ... }
Eine Zeile ausgebenSystem.out.println("Hello, World!");
Ohne Zeilenumbruch ausgebenSystem.out.print("text");
Eingabe lesenScanner sc = new Scanner(System.in);
Eine Klasse importierenimport java.util.ArrayList;
Kommentare// line und /* block */

Datentypen

Primitive werden kleingeschrieben; ihre Wrapper-Klassen großgeschrieben.

TypBeschreibung
int32-Bit-Ganzzahl mit Vorzeichen
long64-Bit-Ganzzahl mit Vorzeichen
double / floatGleitkommazahlen
booleantrue oder false
charEinzelnes 16-Bit-Unicode-Zeichen
byte / short8-Bit- / 16-Bit-Ganzzahlen
StringUnveränderlicher Text (eine Klasse, kein Primitiv)
Integer, Double, BooleanWrapper-Klassen für Primitive
varAbgeleiteter lokaler Typ (Java 10+)

Variablen

OperationSyntax
Deklarieren & initialisierenint x = 5;
Typinferenz (lokal)var name = "Ada";
Konstantefinal double PI = 3.14159;
String-VerkettungString s = "Hi " + name;
String in int umwandelnint n = Integer.parseInt("42");
int in String umwandelnString s = String.valueOf(42);
Formatierter StringString.format("%d items", n)

Kontrollfluss

AnweisungSyntax
If / elseif (x > 0) { ... } else { ... }
Switch-Anweisungswitch (n) { case 1: ...; break; default: ...; }
Switch-Ausdruckvar s = switch (n) { case 1 -> "one"; default -> "other"; };
While-Schleifewhile (i < n) { ... }
Do-while-Schleifedo { ... } while (i < n);
For-Schleifefor (int i = 0; i < n; i++) { ... }
Erweiterte For (for-each)for (String item : list) { ... }
Break / continuebreak; verlässt eine Schleife, continue; springt zur nächsten Iteration

Methoden

OperationSyntax
Eine Methode definierenint add(int a, int b) { return a + b; }
Kein Rückgabewertvoid greet() { ... }
Statische Methodestatic int square(int x) { return x * x; }
Öffentliche Methodepublic String getName() { return name; }
Varargsint sum(int... nums) { ... }
Eine Methode aufrufenint r = add(2, 3);
Eine statische Methode aufrufenMath.max(a, b);
Methodenüberladungint max(int a, int b) und double max(double a, double b)

Klassen & OOP

OperationSyntax
Eine Klasse definierenpublic class Dog { ... }
Feldprivate String name;
Konstruktorpublic Dog(String name) { this.name = name; }
Ein Objekt erstellenDog d = new Dog("Rex");
Getter / Setterpublic String getName() { return name; }
Vererbungclass Puppy extends Dog { ... }
Interfaceinterface Runnable { void run(); }
Ein Interface implementierenclass Task implements Runnable { ... }
Eine Methode überschreiben@Override public void speak() { ... }

Collections

Generische Collections aus java.util.

TypVerwendung & Beispiel
ArrayList<T>Dynamisches Array: list.add(1); list.get(0); list.size();
HashMap<K, V>Schlüssel-Wert: map.put("a", 1); map.get("a");
HashSet<T>Eindeutige Werte: set.add(5); set.contains(5);
LinkedList<T>Doppelt verkettete Liste, gut als Queue/Deque
ArrayDeque<T>Stack/Queue: dq.push(x); dq.pop();
Arrayint[] nums = {1, 2, 3};
Eine Liste durchlaufenfor (T x : list) { ... }
Eine Map durchlaufenfor (var e : map.entrySet()) { e.getKey(); e.getValue(); }

Streams & Lambdas

Pipelines im funktionalen Stil über Collections (Java 8+).

OperationSyntax
Lambda-Ausdruckx -> x * 2
Einen Stream erstellenlist.stream()
Filtern.filter(n -> n > 0)
Map / transformieren.map(n -> n * 2)
Sortieren.sorted() oder .sorted(Comparator.reverseOrder())
Reduce / Summe.reduce(0, Integer::sum)
Zählen / Abgleich.count(), .anyMatch(n -> n > 5)
Zu Liste sammeln.collect(Collectors.toList())
For each.forEach(System.out::println)

Häufige Muster (try/catch, Generics)

MusterSyntax
Try / catchtry { ... } catch (Exception e) { ... }
Bestimmte Exception abfangencatch (IOException e) { ... }
Finallyfinally { ... } läuft immer
Try-with-resourcestry (Scanner sc = new Scanner(...)) { ... }
Eine Exception werfenthrow new IllegalArgumentException("bad");
Generische Klasseclass Box<T> { T value; }
Generische Methode<T> T first(List<T> list) { ... }
Beschränkter Typ<T extends Number>

Die Java-Syntax, Collections und Stream-Operationen, die du am häufigsten brauchst, auf einer Seite. Dieser Java-Spickzettel ist eine Schnellreferenz zum Schreiben von Java - die Datentypen, der Kontrollfluss, Klassen, die ArrayList/HashMap-Collections, die Streams-API sowie die Exception- und Generics-Muster, die du täglich verwendest.

Alles hier ist Standard-Java (Java 8 und neuer) und kompiliert mit javac. Kopiere, was du brauchst, oder probiere jeden Codeschnipsel live im Java-Playground aus - kein JDK zu installieren.

Java-Spickzettel FAQ

Ist dieser Java-Spickzettel kostenlos?
Ja. Dieser Java-Spickzettel ist völlig kostenlos, ohne erforderliche Anmeldung. Setze ein Lesezeichen und komm jederzeit wieder, wenn du Syntax, eine Collection oder eine Stream-Operation nachschlagen möchtest.
Was ist der Unterschied zwischen == und .equals() in Java?
Bei Objekten vergleicht == Referenzen - ob zwei Variablen auf genau dasselbe Objekt zeigen - während .equals() die Inhalte vergleicht. Zwei verschiedene String-Objekte mit demselben Text sind .equals(), aber möglicherweise nicht ==. Verwende immer .equals(), um Strings und andere Objekte auf Wertgleichheit zu vergleichen; verwende == nur für Primitive (int, boolean usw.) oder um auf null zu prüfen.
Wofür werden Streams in Java verwendet?
Mit der Streams-API (Java 8+) kannst du Collections mit einer gut lesbaren Pipeline von Operationen verarbeiten - filter, map, sorted, reduce, collect - statt mit manuellen Schleifen. Du beginnst mit list.stream(), verkettest Zwischenoperationen und schließt mit einer terminalen Operation wie collect(Collectors.toList()) oder forEach ab. Das hält den Code zur Datentransformation kompakt und ausdrucksstark.
Kann ich Java online üben?
Ja. Öffne den Java-Playground, um jeden Codeschnipsel aus diesem Spickzettel in deinem Browser zu kompilieren und auszuführen - kein JDK zu installieren. Wenn du Struktur möchtest, führt dich Coddys kostenloser interaktiver Java-Kurs Schritt für Schritt von Variablen und Schleifen zu Klassen, Collections und Streams.
Ist dieser Spickzettel für Anfänger geeignet?
Ja. Er ist von den häufigsten Bausteinen (Typen, Kontrollfluss, Methoden) hin zu den fortgeschrittenen (Streams, Generics, Exceptions) gegliedert, sodass du die oberen Abschnitte schon am ersten Tag nutzen und in den Rest hineinwachsen kannst.
Coddy programming languages illustration

Lerne Java mit Coddy

LOS GEHT'S