Multiple Variables
Kurz: Mehrere Variablen desselben Typs in einer einzigen Zeile deklarieren, statt für jede eine eigene Zeile zu schreiben.
Genauer: Syntax: int a = 1, b = 2, c = 3; — spart Zeilen, kann aber die Lesbarkeit verschlechtern, besonders wenn die Variablen inhaltlich nicht eng zusammengehören. Für Variablen unterschiedlichen Typs braucht es weiterhin getrennte Deklarationen.
Im Detail
int a = 1, b = 2, c = 3; // drei separate Variablen, jede mit eigenem Wert
int x, y, z; // deklariert, noch ohne Wert
x = y = z = 0; // Mehrfachzuweisung: alle drei bekommen denselben Wert
// Vorsicht: der Typ gilt für die GANZE Zeile
int i = 0, j; // ok
// int i = 0, String s; // FEHLER - unterschiedliche Typen brauchen getrennte ZeilenDer Java-Styleguide von Google und viele andere Team-Konventionen raten explizit von Mehrfachdeklarationen in einer Zeile ab (außer bei sehr eng zusammengehörigen Zählvariablen, z. B. im Kopf einer verschachtelten for-Schleife: for (int i = 0, j = 10; i < j; i++, j--)), weil sie das Lesen und vor allem das Debuggen erschweren — ein Haltepunkt oder eine Fehlermeldung bezieht sich meist auf eine einzelne Variable, und bei kombinierten Deklarationszeilen ist auf den ersten Blick weniger klar, welche der mehreren Variablen gemeint ist. x = y = z = 0; funktioniert, weil eine Zuweisung in Java selbst ein Ausdruck ist, der den zugewiesenen Wert zurückgibt — die Auswertung läuft von rechts nach links.
Wo Mehrfachdeklaration wirklich gebräuchlich ist
Der praktisch häufigste, allgemein akzeptierte Ort für Mehrfachdeklaration ist der Kopf einer for-Schleife mit mehreren Laufvariablen: for (int i = 0, j = arr.length - 1; i < j; i++, j--) — hier gehören die Variablen inhaltlich eng zusammen (beide steuern denselben Schleifenablauf), was die übliche Lesbarkeitseinwand entkräftet. Außerhalb solcher engen, funktional zusammengehörigen Fälle wird in der Praxis fast immer eine Variable pro Zeile bevorzugt.
Konstanten in derselben Deklarationszeile
Dasselbe Kommagetrennt-Prinzip funktioniert auch mit final-Variablen (Constants): final int A = 1, B = 2, C = 3; — hier gelten dieselben Stilfragen wie bei normalen Variablen, mit dem zusätzlichen Vorteil, dass Konstanten oft ohnehin thematisch eng zusammengehören (z. B. mehrere zusammenhängende Konfigurationswerte), was die Mehrfachdeklaration hier häufiger als gerechtfertigt erscheinen lässt.
Siehe auch: Declaring Variables, Identifiers, Constants