1. java-hell.de
  2. Themen
  3. Arrays
Thema 5 von 11

Java Arrays lernen – Übungen online

Ein Array speichert viele Werte unter einem Namen. Du legst Arrays an, liest Elemente über den Index, fragst die Länge ab und läufst mit einer Schleife durch – inklusive dem Klassiker ArrayIndexOutOfBoundsException.

Die Übungen

Das lernst du in diesem Thema

  1. Dein erstes Array
  2. Array-Länge
  3. Array durchgehen
  4. Letztes Element
Übung 1 von 4

Dein erstes Array

Ein Array speichert mehrere Werte vom gleichen Typ:

int[] zahlen = {10, 20, 30};

Auf einzelne Werte greifst du mit dem Index zu — und der startet bei 0:

zahlen[0]  // 10
zahlen[1]  // 20
zahlen[2]  // 30

Ändere den Index, damit Mi ausgegeben wird.

Startcode
void main() {
    String[] tage = {"Mo", "Di", "Mi", "Do", "Fr"};
    IO.println(tage[0]);
}
Hintergrund
Arrays im Speicher

Ein Array ist ein zusammenhängender Block im Speicher. int[5] reserviert 5 × 4 Bytes = 20 Bytes am Stück. Deshalb ist der Zugriff per Index blitzschnell — die JVM rechnet einfach: Startadresse + Index × Elementgröße.

Arrays haben eine feste Größe, die bei der Erstellung festgelegt wird und sich nicht mehr ändern lässt. Für dynamische Größe gibt es ArrayList.

Übung 2 von 4

Array-Länge

Mit .length bekommst du die Anzahl der Elemente:

int[] zahlen = {10, 20, 30};
IO.println(zahlen.length); // 3

Ersetze ???, um die Länge des Arrays auszugeben.

Startcode
void main() {
    String[] farben = {"Rot", "Gruen", "Blau", "Gelb"};
    IO.println(???);
}
Hintergrund
.length bei Arrays vs. Strings

Bei Arrays ist length ein Feld (ohne Klammern): arr.length. Bei Strings ist length() eine Methode (mit Klammern): str.length(). Das verwechselt man am Anfang ständig — keine Sorge.

Der Grund: Arrays sind ein Sonderfall, der direkt in die Sprache eingebaut ist. Sie sind zwar Objekte, haben dafür aber keine eigene Methode, sondern ein eingebautes, nur lesbares Feld length. Strings sind normale Objekte der Klasse String und liefern ihre Länge über eine Methode.

Übung 3 von 4

Array durchgehen

Mit for-each gehst du alle Elemente durch — einfacher als mit Index:

for (String s : meinArray) {
    IO.println(s);
}

Lies es als: "Für jedes String s in meinArray".

Ergänze die Schleife, damit alle Früchte ausgegeben werden.

Startcode
void main() {
    String[] fruechte = {"Apfel", "Birne", "Kirsche"};

    for (String ???) {
        IO.println(frucht);
    }
}
Hintergrund
For-Each unter der Haube

Die for-each-Schleife ist syntaktischer Zucker — der Compiler wandelt sie intern in eine normale for-Schleife um. Bei Arrays wird ein Index verwendet, bei Collections ein Iterator.

Nachteil: Du hast keinen Zugriff auf den Index. Wenn du den brauchst, nutze die klassische for(int i=0; ...) Variante.

Übung 4 von 4

Letztes Element

Das letzte Element hat immer den Index length - 1:

zahlen[zahlen.length - 1]

Ersetze ???, um das letzte Element auszugeben — egal wie lang das Array ist.

Startcode
void main() {
    String[] tiere = {"Hund", "Katze", "Vogel", "Fisch"};
    IO.println(???);
}
Hintergrund
ArrayIndexOutOfBoundsException

Wenn du auf Index 4 eines 4-Elemente-Arrays zugreifst, gibt es einen Laufzeitfehler — das Programm stürzt ab. Java prüft bei jedem Zugriff die Grenzen (Bounds Checking).

In Sprachen wie C gibt es diese Prüfung nicht — dort liest du einfach zufälligen Speicher (ein häufiges Sicherheitsproblem!). Java ist hier sicherer.

Genug gelesen. Jetzt du.

Im Tutorial schreibst du den Code selbst, drückst auf Ausführen und siehst sofort, ob dein Programm stimmt. Kein JDK, keine IDE, kein Bullshit.

Arrays im Browser üben