Arrays in Java: Wie deklariert und initialisiert man sie? Vollständiger Leitfaden

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum quält diese Frage selbst erfahrene Java-Entwickler?

\n\n

Wenn Sie jemals gegoogelt haben „How do I declare and initialize an array in Java?“, sind Sie nicht allein. Diese Frage auf Stack Overflow hat Hunderttausende von Aufrufen gesammelt und wächst weiter. Man sollte meinen, was ist daran so schwer? Aber der Teufel steckt, wie immer, im Detail. Java ist eine stark typisierte Sprache, und die Syntax für Arrays kann Anfänger verwirren.

\n\n

In diesem Artikel analysieren wir alle möglichen Methoden zur Deklaration und Initialisierung von Arrays in Java. Sie erfahren, worin sich int[] arr von int arr[] unterscheidet, wie man Objektarrays korrekt erstellt und wie Sie der Falle NullPointerException entgehen. Los geht's!

\n\n

1. Grundlagen: Was ist ein Array in Java?

\n\n

Ein Array in Java ist ein Container, der eine festgelegte Anzahl von Elementen eines Typs speichert. Im Gegensatz zu Python oder JavaScript, wo Arrays dynamisch sein können, wird die Größe eines Arrays in Java bei der Erstellung festgelegt und kann nicht geändert werden.

\n\n
int[] numbers; // Deklaration (declaration)\nnumbers = new int[5]; // Initialisierung (initialization) – Speicherzuweisung für 5 Elemente\n
\n\n

In der ersten Zeile teilen wir dem Compiler mit: „Ich möchte eine Variable erstellen, die auf ein Array von ganzen Zahlen verweist.“ In der zweiten Zeile weisen wir Speicher für 5 Elemente zu. Erst danach ist das Array einsatzbereit.

\n\n

2. Methoden zur Array-Deklaration

\n\n

In Java gibt es zwei Syntaxen für die Array-Deklaration. Beide sind gültig, aber die Java-Community (und die offiziellen Codierungsstandards von Oracle) empfehlen die erste Variante.

\n\n

Methode 1: Datentyp + eckige Klammern vor dem Variablennamen

\n
int[] myArray;\nString[] names;\ndouble[] prices;\n
\n\n

Methode 2: Eckige Klammern nach dem Variablennamen (C/C++-Stil)

\n
int myArray[];\nString names[];\ndouble prices[];\n
\n\n

Welche sollten Sie wählen? Die erste Variante liest sich natürlicher: int[] myArray – „Array von ganzen Zahlen mit dem Namen myArray“. Die zweite Variante kann verwirrend sein, besonders wenn Sie mehrere Variablen in einer Zeile deklarieren:

\n\n
int[] arr1, arr2; // beide Variablen sind Arrays\nint arr3[], arr4; // arr3 ist ein Array, arr4 ist eine normale ganze Zahl (Fehler!)\n
\n\n

Verwenden Sie daher immer Typ[] Name.

\n\n

3. Array-Initialisierung: 4 bewährte Methoden

\n\n

Nach der Deklaration muss das Array initialisiert werden. So machen Sie es richtig.

\n\n

Methode 1: Erstellen eines leeren Arrays mit Angabe der Größe

\n
int[] numbers = new int[10]; // Array mit 10 Elementen, alle standardmäßig 0\nString[] words = new String[5]; // Array mit 5 Strings, alle standardmäßig null\n
\n\n

Diese Methode eignet sich, wenn Sie das Array später füllen möchten (z. B. in einer Schleife). Wichtig zu beachten: Bei numerischen Typen ist der Standardwert 0, bei boolean ist es false, bei Referenztypen ist es null.

\n\n

Methode 2: Initialisierung mit einem Array-Literal

\n
int[] numbers = {1, 2, 3, 4, 5};\nString[] fruits = {"apple", "banana", "orange"};\n
\n\n

Dies ist die kürzeste und bequemste Methode, wenn Sie alle Elemente im Voraus kennen. Beachten Sie: Diese Syntax funktioniert nur bei der Deklaration.

\n\n

Methode 3: Anonymes Array (ohne Variablennamen)

\n
int[] numbers = new int[]{1, 2, 3, 4, 5};\n
\n\n

Diese Variante ist nützlich, wenn Sie ein Array an eine Methode übergeben müssen, ohne eine separate Variable zu erstellen:

\n\n
printArray(new int[]{10, 20, 30});\n
\n\n

Methode 4: Initialisierung über eine Schleife

\n
int[] squares = new int[10];\nfor (int i = 0; i < squares.length; i++) {\n    squares[i] = (i + 1) * (i + 1);\n}\n
\n\n

Ideal für dynamische Befüllung, z. B. zur Berechnung von Werten oder zum Lesen von Daten aus einer Datei.

\n\n

4

Blogs

Buchempfehlungen