Lernpfad:Objektorientierte Programmierung mit Java/Arrays
Arrays (im Deutschen auch Feld genannt) erlauben es, Gruppen von Daten gleichen Typs in einer Variablen zu speichern. Bei der Initialisierung wird der Datentyp und die Anzahl der Werte festgelegt. Der Interpreter reserviert dann den nötigen Speicherplatz. Ein Integer-Array der Größe 3 belegt also 24 Byte (3 x 8 Byte).
Arrays deklarieren
// Deklaration eines Integer-Arrays der Größe 8
int[] zahlen = new int[8];
// String-Array der Größe 11
String[] worte = new String[11];
Die Größe eines Arrays kann jederzeit über das length
Attribut abgefragt werden.
int[] zahlen = new int[7];
zahlen.length; // 7
Zugriffe und Zuweisungen
Der Zugriff auf die Elemente eines Arrays erfolgt über einen Index. Dabei bekommt das erste Element den Index 0, das Zweite den Index 1 und so weiter. In einem Array der Größe n
hat das letzte Element also den Index n-1
.
Element | 1 | 2 | ... | i | ... | n |
---|---|---|---|---|---|---|
Index | 0 | 1 | ... | i-1 | ... | n-1 |
Zugriff | feld[0] | feld[1] | ... | feld[i-1] | ... | feld[feld.length-1] |
Zuweisungen und Zugriffe erfolgen auch mit eckigen Klammern, wie bei der Deklaration.
int[] zahlen = new int[8];
zahlen[0] = 133; // Zuweisung zum erstes Element mit dem Index 0
zahlen[1] = 501; // Zuweisung zum zweiten Element mit dem Index 1
zahlen[0] + zahlen[1]; // Zugriff auf die Elemente
Zugriffe mit Indizes außerhalb des gültigen Bereichs (also i < 0
oder i > length
) produzieren einen Fehler.
Über ein Array iterieren
Da man oft die Größe eines Arrays im Vorfeld nicht kennt, muss man häufig mit einer Zählschleife über das Array iterieren, um Aktionen auf oder mit den Elementen auszuführen. Iterieren bedeutet hier, das Array vom ersten bis zum letzten Element zu durchlaufen. Dazu kann man jedes Schleifenkonstrukt benutzen, üblich ist aber eine Zählschleife.
// Zählschleife von 0 bis zahlen.length
// Die Zählvariable i durchläuft alle Indizes des Arrays
// Das Attribut "length" eines Arrays enthält seine Größe
for( int i = 0; i < zahlen.length; i += 1 ) {
System.out.println(zahlen[i]);
}
- Erstelle eine Klasse
Zufall
mit einem Attributzufallszahlen
, dass ein Integer-Array speichert. Das Array soll im Konstruktor initialisiert werden, wobei die Größe des Arrays dem Konstruktor als Parameter übergeben wird. - Implementiere eine Methode
public void zahlenGenerieren()
, die das Array mit Zufallszahlen befüllt. - Implementiere eine Methode
public void ausgeben()
, die über das Array iteriert und die Elemente auf der Konsole ausgibt. - Implementiere eine Methode
public boolean suchen(int pZahl)
, die prüft, obpZahl
im Array enthalten ist.