Arrays
Ziele
- Ich weiss, was ein Array ist und wozu es verwendet wird.
- Ich kann Arrays deklarieren, instantiieren und initialisieren.
- Ich kann Werte aus Arrays lesen und in Arrays schreiben.
- Ich kenne den Unterschied zwischen
for
undforeach
beim Durchlaufen eines Arrays. - Ich kann aus einem
String
mit.split(...)
ein Array erzeugen. - Ich weiss, wie ein zweidimensionales Array aufgebaut ist und wie man damit arbeitet.
Einführung
Oft müssen in einem Programm mehrere Werte desselben Datentyps zusammen gespeichert werden.
Anstatt für jeden Wert eine eigene Variable zu erstellen, kann man Arrays verwenden.
Ein Array ist eine feste Sammlung von Elementen, die alle denselben Datentyp haben und über einen Index angesprochen werden. Die Länge eines Arrays wird einmal bei der Erstellung festgelegt.
Deklaration und Initialisierung
Ein Array wird in zwei Schritten erstellt:
- Deklaration – Festlegen des Datentyps und Namens
- Initialisierung – Erstellen des Array-Objekts und Festlegen der Länge
Die Deklaration eines Arrays enthält folgende Bestandteile:
Reihenfolge | Bedeutung | Beispiel |
---|---|---|
1. | Typ | String, int, double, char, ... |
2. | Eckige Klammern | [] |
3. | Bezeichner / Namen | words, numbers, values, letters... |
In Java müssen wir zum Zeitpunkt der Deklaration eines Arrays folgendes angeben:
- den Datentyp
- den Namen
Konkret können wir so ein String
-Array deklarieren:
|
|
Zum Zeitpunkt der Initialisierung müssen wir folgendes angeben:
- die Grösse
Das Code-Beispiel von der “Deklaration” deklariert die Variable words, erstellt das Array-Objekt jedoch noch nicht. Der Operator new wird in Java zum Erstellen von neuen Objekten verwendet:
|
|
Damit wird ein Array-Objekt der Länge 5 (also mit 5 Elementen) instantiiert. Die fünf Elemente dieses Arrays wurden mit
Standardwerten initialisiert. Bei einem Array des Datentyps String
ist der Default-Wert null
. Alle Werte im Array
werden also mit null
aufgefüllt.
Wir können die Werte der Array-Elemente auch gleich direkt angeben:
|
|
Es wird damit ein Array mit der Grösse 5 und den angegebenen Werten erstellt.
Länge eines Arrays
Die Anzahl der Elemente in einem Array wird als Länge eines Arrays bezeichnet. Diese Länge wird zum Zeitpunkt der Erstellung eines Arrays einmal festgelegt. Sie kann später in einem Programm nur durch Definition eines neuen Arrays und dem Kopieren von Werten geändert werden.
Wir können die Länge eines Arrays mithilfe einer in Java integrierten Funktionalität überprüfen:
|
|
Indizierung
Die Indizes in einem Array reichen immer von 0
bis length-1
. Ein Array mit den ersten 100 natürlichen Zahlen hat
beispielsweise eine Länge von 100 und Indizes von 0 bis 99.
|
|

Werte schreiben
Wenn wir den Wert eines Elements in unserem Array verändern möchten, geschieht dies folgendermassen:
|
|
Wenn du also das 4. Element (Index 3) mit dem Wert "Delfin"
ersetzen möchtest, dann kannst du das wie folgt tun:
|
|
Arrays durchlaufen
Im Modul Kontrollstrukturen hast du bereits die for
-Schleife kennengelernt. Mit dieser
kannst du mit einem index durch das ganze Array iterieren:
|
|
Für Arrays gibt es aber auch noch die foreach
-Schleife, welche kürzer und direkter ist:
|
|

foreach
eignet sich besonders gut, wenn du alle Elemente durchgehen möchtest und den Index nicht benötigst.
Wenn du dir die Erklärung noch mit einem Video anschauen möchtest, empfehlen wir dir dieses Video (Theoretische Erklärung).

Wenn du dir die Erklärung noch mit einem Video anschauen möchtest, empfehlen wir dir dieses Video (Anwendung in Java).
Arrays und Strings
Du hast Strings bereits in einem Modul kennengelernt. Zwei nützliche Methoden welche Strings bieten haben wir dort noch nicht behandelt, weil sie Kentnisse über Arrays voraussetzen.
Strings in Arrays umwandeln – .split(...)
Mit .split(...)
können Strings in Arrays aufgeteilt werden:
|
|
Ablauf:
- Der String
"Apfel,Birne,Kirsche"
wird beim Komma getrennt. - Es entsteht ein Array mit drei Elementen.
- Das Array wird mit
foreach
ausgegeben.
Anzufügen ist noch, dass es sich beim Suchbegriff um eine sogenannten “Regulären Ausdruck” (RegEx) handelt.
Arrays in Strings umwandeln - String.join(...)
Mit String.join(...)
kann man aus einem Array einen String erzeugen.
|
|
Zweidimensionale Arrays
is jetzt hast du ausschliesslich Arrays gesehen, die auf eine Dimension beschränkt waren. Diese Arrays sind praktisch, um Listen-Artige Daten zu speichern. Zweidimensionale Arrays haben wie es der Name schon verrät eine zweite Dimension. Diese Art von Arrays sind praktisch für tabellarische Daten.
Du kannst dir ein 2D-Array wie eine Excel vorstellen. Es besteht aus Reihen und Spalten die gleich wie im normalen Array mit einem Index/einer Position definiert werden.
Für die Deklaration eines zweidimensionalen Arrays wird eine Angabe von der Anzahl Reihen und Spalten benötigt. Bei dieser Art von Array können die gleichen Datentypen wie bei den normalen Arrays verwendet werden. So sieht schliesslich die Syntax aus:
|
|
Da wir jetzt im zweidimensionalen Bereich unterwegs sind, müssen wir für den Zugriff auf Elemente beide Dimensionen beachten. Das bedeutet, dass wir anders als bei einfachen Arrays 2 verschiedene indexe angeben müssen.
Hier ein Beispiel dazu:
|
|
Durchlaufen mit verschachtelten Schleifen
Um auf alle Elemente im zweidimensionalen Array zuzugreifen, müssen wir eine verschachtelte for
-Schleife verwenden:
|
|
Du kannst aber auch eine verschachtelte foreach
-Schleife verwenden:
|
|

Wenn du dir die Erklärung noch mit einem Video anschauen möchtest, empfehlen wir dir dieses Video.

Entschuldige, da fehlt noch was...
-->Labs konvertieren:
Aufgabe 9
../../../../labs/02_java/03_java-grundlagen/#aufgabe-9—arrays