s n h m r u
i

Know How

Arrays in Java

Arrays sind dazu geeignet mehrere -normalerweise gleichartige- Dinge zu verwalten. Dabei muss die Zahl der Elemente im Array bei der Erzeugung des Arrays feststehen. Ein Array wird in Java folgendermaßen benutzt:

Typ[] variablenname;   // Definition des Arrays
variablenname = new Typ[anzahl]; // Erzeugung des Arrays
<p>// Zugriff auf das erste Element, Nummerierung ab 0!!!<br />
variablenname[0]</p>
<p>// Zahl der Elemente, KEINE Methode, also keine Klammern am Ende!<br />
variablenname.length<br />

Also z.B. für ein Array von ganzen Zahlen:

int[] zahlen = new int[10];
zahlen[0] = 42;
zahlen[zahlen.length - 1] = 99; // Letztes Element!!!
// Alle Zahlen ausgeben
for(int i = 0; i < zahlen.length; i++) {
    System.out.println(zahlen[i]);
}

oder für ein Array von Hunden:

Hund[] hunde = new Hund[5];
<p>// Erzeuge die Hunde<br />
for(int i = 0; i < hunde.length; i++) {<br />
hunde[i] = new Hund();<br />
}</p>
<p>// lasse alle Hund bellen<br />
for(int i = 0; i < hunde.length; i++) {<br />
hunde[i].bellen();<br />
}<br />

Wie Du siehst weicht die Syntax bei Arrays etwas von der Syntax ab, wie man sie in Java gewohnt ist (z.B. Erzeugung eines Array-Objekts). Da Arrays in praktisch allen Sprachen verfügbar sind, hat man sich hier an den üblichen Konventionen orientiert.

for-each Schleife

Alternativ zur obigen for-Schleife, kann man auch eine sogenannte for-each Schleife benutzen, um alle Objekte einer Objektsammlung zu durchlaufen:

for(int z: zahlen) {
    System.out.println(z);
}
<p>// beziehungsweise für Hund</p>
<p>for(Hund h: hunde) {<br />
h.bellen();<br />
}<br />

Die for-each Schleife besitzt den Vorteil, dass sie deutlich kompakter und besser lesbar ist. Sie besitzt aber den Nachteil, dass man nicht so flexibel ist. Man kann mit einer for-each Schleife bspw. nicht jedes zweite Element eines Arrays verarbeiten oder das Array in umgekehrter Reihenfolge verarbeiten. Auch steht der Index des aktuellen Elements während der for-each Schleife nicht zur Verfügung.

Suche

v
7.1.4.1.2 Know How
Kopieren durch Anklicken

Rückmeldung geben