5Arrays
Nachdem du nun die wichtigsten Datentypen für deine Java-Programme kennst, werfen wir nun einen etwas genaueren Blick auf Arrays. Lass uns gleich mit einem Beispiel starten: nur wenige Leute haben ein einziges T-Shirt, aber wie kannst Du nun deine T-Shirts in Java erfassen? Hier kommen Arrays ins Spiel. Arrays lassen sich am einfachsten als eine Art Liste beschreiben. Die Definition sieht so aus:
Datentyp[] name = new Datentyp[größe];
// Listing 5.1 Array anlegen
Das, was nun noch etwas befremdlich aussieht, lässt sich recht leicht erklären. Zunächst wählst du den Typ, welchen dein Array hat. (int, String, etc.) dann legst du einen Namen für dein Array fest. Nach dem Gleichheitszeichen erfolgt die Definition. Mit legst du erneut den Typ fest und gibst mit der Größe an, wie viele Elemente du speichern möchtest. Schauen wir uns wieder das T-Shirt Beispiel an, wir legen also das Array mit einer Größe von 10 an:
TShirt[] tshirts = new TShirt[10];
// Listing 5.2 Array von T-Shirts
Daten im Array speichern
Jetzt fragst du dich mit Sicherheit, wie du nun echte Daten in das Array bekommst, denn bisher hast du nur leere Arrays einer bestimmten Größe erstellt. Um das Array mit Daten zu füllen, gibt es verschiedene Möglichkeiten. Im Folgenden möchte ich dir zwei davon näher vorstellten. In dem Abschnitt zum Thema Schleifen lernst du dann eine weitere Methode kennen, welche dir einige Arbeit abnehmen wird.
Die erste Möglichkeit ist es, das Array direkt bei der Initialisierung mit Daten zu versehen. Schau dir dazu folgende Beispiele an:
String[] farben = {"Rot", "Blau", "Gelb"};
int[] zahlen = {1, -10, 37, 42};
// Listing 5.3 Direkte Zuweisung
Wie du siehst werden die Werte direkt bei dem Erstellen des Arrays, mithilfe von geschweiften Klammern, angegeben. Das hat natürlich den Nachteil, dass du schon beim Initialisieren des Arrays wissen musst, welche genauen Daten du speichern möchtest. Eine weitere Möglichkeit Daten in das Array zu bekommen ist folgende:
String[] farben = new String[3];
farben[0] = "Rot";
farben[1] = "Blau";
farben[2] = "Gelb";
// Listing 5.4 Indirekte Zuweisung
In diesem Fall wird zunächst das String-Array definiert. Später greifen wir mithilfe der eckigen Klammern auf die einzelnen Stellen des Arrays zu und weisen den entsprechenden Stellen die gewünschten Werte zu. Wichtig zu wissen ist dabei: Es wird bei null angefangen zu zählen, ein Array mit einer Größe von drei hat also die Stellen: 0, 1, 2 und nicht, wie du es vielleicht gewohnt bist: 1, 2, 3.
Zugriff auf Daten im Array
Diese Möglichkeit hat dir auch gleichzeitig ein weiteres Konzept vorgestellt: Den Zugriff auf einzelne Stellen im Array. Selbstverständlich möchtest du die Daten, welche in einem Array gespeichert sind auch abrufen können.
int[] zahlen = {1, -10, 37, 42};
System.out.println(zahlen[1]); // Ausgabe: -10
int stelleImArray = zahlen[2];
// Listing 5.5 Zugriff auf Daten im Array
Wie du siehst ist das Konzept ähnlich simpel, wie die Zuweisung von Daten. In eckigen Klammern schreibst du die Stelle, auf die zuzugreifen möchtest. In der dritten Zeile siehst du, dass Stellen aus dem Array natürlich auch in Variablen gespeichert werden können. Überleg gerne mal welchen Wert die Variable jetzt hat. (Denke daran, dass es bei null anfängt zu zählen). Im nächsten Kapitel lernst du ein weiteres wertvolles Werkzeug der Programmierung, besonders im Umgang mit Arrays kennen: Schleifen.
Zusammenfassung
In Arrays kannst du mehrere Einträge des gleichen Datentypen speichern
Du kannst dir ein Array als eine Art Liste vorstellen
Ein Array wird grundsätzlich nach folgendem Muster erstellt:
Die erste Stelle im Array hat den index 0