Arrays
Ziele
- Ich kenne Arrays und kann diese instantiieren, ihnen Werte von Indexen entnehmen und Werte an Indexe zuweisen.
Arrays
Definition
Häufig benötigen Software-Entwickler mehrere zusammengehörige Variablen desselben Datentyps, die logisch oder verwaltungstechnisch zusammengehören. Es wäre aber sehr aufwendig, diese Variablen alle einzeln zu deklarieren und zu verarbeiten. Zudem ist es möglich, dass die Anzahl an Objekten noch unbekannt ist und erst bei der Ausführung des Programms definiert wird. Deswegen wird in Java, wie in anderen Programmiersprachen auch, die Verwendung von Arrays unterstützt. In Arrays lassen sich beliebige primitive Datentypen und Objekte speichern und systematisch bearbeiten. Alle Variablen haben einen gemeinsamen Namen, werden aber über unterschiedliche Indizes angesprochen. Unter Arrays
kannst du dir so etwas wie eine Liste vorstellen.
Deklaration
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... |
Konkret können wir so ein String
-Array deklarieren:
|
|
Syntax
In Java müssen wir zum Zeitpunkt der Deklaration eines Arrays folgendes angeben:
- den Datentyp
- den Namen
und zum Zeitpunkt der Initialisierung:
- 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 also 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.
Zugriff auf Elemente
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:
|
|
Und wenn wir den Wert eines Array-Elements in einer Variablen ausserhalb des Arrays speichern wollen:
|
|
Durch alle Elemente durchgehen
Im Kapitel der “Kontrollstrukturen” hast du die for
- und “foreach”-Schlaufe kennengelernt. Beide Schlaufen eignen sich, um ein Array durchzugehen (“iterieren”). Hier ein kleiner Reminder:
|
|
Lernvideo
Wenn du dir die Erklärung noch mit Videos genauer anschauen möchtest, empfiehlt dir das Coaching-Team diese Videos: Theoretische Erklärung, Anwendung in Java
Zweidimensionale Arrays (2D Array)
Bis 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.
Syntax
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:
|
|
Zugriff auf Elemente
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:
|
|
Lernvideo
Wenn du dir die Erklärung noch mit einem Video genauer anschauen möchtest, empfiehlt dir das Coaching-Team dieses Video.
Jetzt bist du dran. Löse bitte die Aufgabe 9 in den Labs.