20% Rabatt mit Code ERSTIS26
4 min Lesezeit 16. Apr. 2026

Java Arrays verstehen: Einfache Erklärung für Lernende

Dieser Guide erklärt Java Arrays einfach und verständlich. Ideal für Einsteiger, die Datenstrukturen in Java meistern wollen.

Marcel Schmidtpeter Von Marcel Schmidtpeter 16. Apr. 2026
Java Arrays verstehen: Einfache Erklärung für Lernende

Stell dir vor, du sollst die Noten von 30 Studierenden verwalten. Ohne Java Arrays müsstest du 30 einzelne Variablen erstellen: `note1`, `note2`, `note3` ... bis `note30`. Bei 500 Studierenden wird dieses Konzept komplett unhandlich und fehleranfällig. Genau hier kommen Java Arrays ins Spiel - sie lösen dieses Problem, indem sie viele Werte in einer einzigen Struktur speichern.

Was sind Java Arrays?

Ein Array in Java ist ein Container, der eine feste Anzahl von Werten desselben Datentyps unter einem gemeinsamen Namen speichert. Du kannst dir ein Array wie ein Regal mit zahlreichen Fächern vorstellen: Jedes Fach hat eine eindeutige Nummer (den Index), und in jedem Fach liegt genau ein Wert.

Der entscheidende Vorteil gegenüber einzelnen Variablen ist die Effizienz. Statt Dutzende Variablen zu verwalten, hast du nur einen Namen für das gesamte "Regal". Java Arrays sind grundlegend für die Programmierung und werden oft als Basis für komplexere Datenstrukturen genutzt.

Definition: Ein Java Array ist ein Objekt, das eine feste Anzahl von Werten eines einzigen Typs speichert. Die Länge eines Arrays wird bei der Erstellung festgelegt und kann später nicht mehr geändert werden.

Weitere Details zu den Grundlagen findest du in den Oracle Java Tutorials.

Wie legst du Java Arrays an?

Die Erstellung eines Arrays unterteilt sich in zwei Schritte: die Deklaration (das Anmelden der Variable) und die Instanziierung (das Reservieren von Speicherplatz mit `new`).

Es gibt zwei gängige Wege, dies zu tun:

Methode 1: Direkte Initialisierung

Wenn du die Werte schon beim Schreiben des Codes kennst, ist dies der kürzeste Weg. Die Größe wird automatisch aus der Anzahl der Werte in den geschweiften Klammern ermittelt.

java
// Array mit 5 Noten direkt erstellen
int[] noten = { 1, 2, 3, 4, 5 };

Methode 2: Explizite Größenangabe

Diese Methode wählst du, wenn du erst einmal Speicherplatz reservieren möchtest, die Werte aber später - vielleicht durch Benutzereingaben - zugewiesen werden.

java
// Array fuer 5 Plaatze erstellen (Speicher reservieren)
int[] noten = new int[5];

// Werte einzeln zuweisen (Indizierung beginnt bei 0)
noten[0] = 1;
noten[1] = 2;
noten[2] = 3;
noten[3] = 4;
noten[4] = 5;

Das Schlüsselwort `new` weist den Computer an, im Speicher Platz für genau 5 ganze Zahlen (`int`) zu schaffen.

Wichtig: In Java beginnen Indizes immer bei 0. Das erste Element ist also `noten[0]` und das fünfte Element `noten[4]`.

Wie funktioniert der Zugriff auf Elemente?

Der Zugriff auf ein bestimmtes Element erfolgt über den Index in eckigen Klammern. Das ermöglicht dir, beliebige Werte auszulesen oder zu überschreiben.

java
String[] faecher = {"Informatik", "Mathe", "Englisch"};

// Erstes Fach ausgeben
System.out.println(faecher[0]); // Ausgabe: Informatik

// Ein Fach aendern
faecher[1] = "Biologie";

// Aenderung pruefen
System.out.println(faecher[1]); // Ausgabe: Biologie

Um herauszufinden, wie viele Elemente ein Array aufnehmen kann, verwendest du die Eigenschaft `.length`. Das ist keine Methode (keine Klammern!), sondern eine interne Eigenschaft des Array-Objekts.

java
System.out.println("Anzahl Faecher: " + faecher.length); // Ausgabe: 3

Merke: Der letzte gültige Index ist immer `array.length - 1`. Versuchst du, auf `array.length` zuzugreifen, wirft Java einen Fehler.

Wie durchläufst du ein Java Array?

Um alle Elemente zu verarbeiten - etwa um sie zu addieren oder auf dem Bildschirm auszugeben - nutzt du Schleifen. Hier bieten sich zwei Varianten an.

Die klassische for-Schleife

Diese Variante brauchst du, wenn du auch den Index (die Position) kennen musst, zum Beispiel wenn du das Element an einer bestimmten Stelle ändern willst.

java
int[] noten = {2, 1, 3, 2, 4};

for (int i = 0; i < noten.length; i++) {
  System.out.println("Note an Index " + i + ": " + noten[i]);
}

Die for-each-Schleife (Enhanced Loop)

Diese Schreibweise ist kürzer und lesbarer. Sie eignet sich perfekt, wenn du nur die Werte lesen willst und den Index nicht benötigst.

java
int[] noten = {2, 1, 3, 2, 4};

for (int note : noten) {
  System.out.println("Note: " + note);
}

Praxisbeispiel: Mittelwert berechnen

Ein klassisches Anwendungsbeispiel für Java Arrays ist die Berechnung eines Notendurchschnitts. Das Array speichert alle Noten, und wir summieren diese in einer Schleife auf.

java
public class NotenRechner {
  public static void main(String[] args) {
    // Array mit Noten
    int[] noten = {2, 1, 3, 2, 4, 2, 1, 3};

    int summe = 0;
  
    // Alle Noten aufsummieren
    for (int i = 0; i < noten.length; i++) {
      summe += noten[i];
    }

    // Mittelwert berechnen
    // Cast auf (double) ist noetig fuer genaue Division
    double mittelwert = (double) summe / noten.length;

    System.out.println("Anzahl Noten: " + noten.length);
    System.out.println("Summe: " + summe);
    System.out.println("Mittelwert: " + mittelwert);
  }
}

Warum hier `(double)`? Teilst du in Java zwei ganze Zahlen (`int`), schneidet Java das Ergebnis ab. Aus 17 / 5 würde 3 werden (statt 3.4). Durch das Umwandeln in `double` erzwingst du eine Kommazahl-Berechnung.

Welche Fehler passieren bei Java Arrays häufig?

Besonders als Einsteiger stolpert man oft über dieselben Fallen. Hier sind die drei Klassiker.

1. ArrayIndexOutOfBoundsException

Dieser Fehler tritt auf, wenn du versuchst, auf ein Feld zuzugreifen, das nicht existiert.

java
int[] zahlen = {10, 20, 30};
// FALSCH - Index 3 existiert nicht (nur 0, 1, 2)
System.out.println(zahlen[3]); 

Lösung: Achte darauf, dass deine Schleifenbedingung immer `< array.length` (kleiner) und nicht `<=` (kleiner oder gleich) lautet.

2. Nicht initialisiertes Array

Deklarierst du ein Array, weist aber keinen Speicher zu, führt der Zugriff zum Fehler.

java
int[] zahlen;
// FALSCH - kein Speicher reserviert!
zahlen[0] = 5; 

Lösung: Immer mit `new int[Größe]` oder `{...}` initialisieren.

3. Falscher Datentyp

Java Arrays sind typsicher. Du kannst keine Texte in ein Zahlenarray stecken.

java
int[] zahlen = new int[3];
// FALSCH - Typenkollision
zahlen[0] = "Hallo Welt"; 

Was sind mehrdimensionale Java Arrays?

Wenn du ein Array von Arrays hast, sprichst du von einem mehrdimensionalen Array. Am häufigsten trifft man auf 2D-Arrays, die wie eine Tabelle (Zeilen und Spalten) funktionieren.

java
// Matrix: 3 Zeilen, 3 Spalten
int[][] matrix = {
  {1, 2, 3},
  {4, 5, 6},
  {7, 8, 9}
};

// Wert in Zeile 1, Spalte 2 ausgeben
System.out.println(matrix[1][2]); // Ausgabe: 6

Solche Strukturen nutzt du oft für Spielbrett-Logik (Schach, Tic-Tac-Toe) oder Koordinatensysteme.

Wann nutzt du Arrays und wann ArrayListen?

Die Wahl der richtigen Datenstruktur ist entscheidend für deine Software-Architektur.

Feature

Java Array

ArrayList

Groesse

Fix (nach Erstellung nicht aenderbar)

Dynamisch (waechst automatisch)

Performance

Sehr schnell, besonders bei Primitiven

Etwas langsamer durch Overhead

Datentypen

Nur Primitiven (`int`) oder Objekte

Nur Objekte (Primitiven werden verpackt)

Syntax

Einfach `[]`

Methoden wie `.add()`, `.remove()`

Empfehlung: Nutze für einfache, feste Datenmengen (z.B. Wochentage, Würfelzahlen) Java Arrays. Wenn die Anzahl der Elemente sich zur Laufzeit ändert (z.B. eine Einkaufsliste), nimm eine ArrayList.

FAQ: Häufige Fragen zu Java Arrays

Kann ich die Größe eines Arrays nachträglich ändern?

Nein, das ist nicht möglich. Einmal erstellt, hat ein Array eine feste Länge. Wenn du mehr Platz brauchst, musst du ein neues, größeres Array erstellen und die Daten dort hineinkopieren.

Warum beginnt der Index bei 0 und nicht bei 1?

Das ist ein Designentscheid, der historisch bis zu C und Assembler zurückreicht. Der Index bedeutet technisch gesehen den "Versatz" (Offset) vom Startpunkt im Speicher. Das erste Element hat einen Versatz von 0.

Was ist der Unterschied zwischen `length` und `length()`?

`length` ist eine Eigenschaft (Field) von Arrays (ohne Klammern). `length()` ist eine Methode bei Strings (mit Klammern). Das wird oft verwechselt.

Wie leere ich ein Array am schnellsten?

Du kannst ein neues Array zuweisen oder, falls du es wiederverwenden willst, eine Schleife nutzen, um jeden Wert auf `0` oder `null` zu setzen. Bei `ArrayList` gibt es dafür die Methode `.clear()`.

Kann ich Arrays in Methoden übergeben?

Ja, und das wird oft "by reference" (als Referenz) gemacht. Änderst du das Array innerhalb der Methode, gelten diese Änderungen auch für das Original-Array außerhalb der Methode.

Fazit

Java Arrays sind ein unverzichtbares Werkzeug in der Programmierung. Sie bieten eine effiziente Möglichkeit, viele Werte gleichen Typs zu speichern und schnell darauf zuzugreifen. Obwohl ihre Größe fest ist, sind sie durch ihre Geschwindigkeit und einfache Syntax ideal für viele Standardfälle in der Ausbildung und im Studium.

Vermeide die typischen Anfängerfehler wie die `ArrayIndexOutOfBoundsException`, indem du immer auf die Indizes 0 bis `length-1` achtest. Sobald du das Prinzip verstanden hast, ist der Weg zu komplexeren Datenstrukturen wie ArrayLists nicht mehr weit.

Möchtest du mehr über Java lernen oder üben? Besuche study-it.education für professionelle Nachhilfe und Lernmaterialien, die dich Schritt für Schritt zum Ziel bringen.


Erstgespräch · 0 € · 15 min

Brauchst du jemand, der das mit dir durchgeht?

Statt nochmal lesen: 15 min mit einem Senior-Dev.

Kostenloses Erstgespräch buchen →
Über den Autor
Marcel Schmidtpeter
Marcel Schmidtpeter

Dieser Guide erklärt Java Arrays einfach und verständlich. Ideal für Einsteiger, die Datenstrukturen in Java meistern wollen.

marcel.schmidtpeter@study-it.education →
Weiterlesen

Mehr Lesestoff