s03 – Felder (Arrays) von Variablen

 

Häufig braucht man mehrere Variablen des selben Typs. Man kann sie dann entweder alle einzeln deklarieren:

int i1, i2, i3, i4, i5;

oder man benutzt ein Feld von Variablen. Ein Feld lässt sich mit einer Tabelle vergleichen. Mit Hilfe eines Index-Wertes kann auf die verschiedenen Inhalte der Tabelle zugegriffen werden. In Java deklariert man ein Feld wie folgt:

int[] i;

Das Feld ist nun deklariert als eine Ansammlung von Integer-Variablen. Der Name der Variablen ist i, gefolgt von einem Index. Bisher ist allerdings die Länge des Feldes, also die Anzahl der Variablen, noch unbekannt. Die Länge muss also in der Initialisierung eingefügt werden:

i = new int[5];

Das Feld ist nun 5 Variablen groß. Hierbei muss beachtet werden, dass diese nicht von 1 bis 5 nummeriert sind, sondern von 0 bis 4. Wir können also im Folgenden die Variablen nutzen:

i[0] = i[1] = 4;
i[2] = i[0]+i[1];
i[2+1] = 5;   // Index kann auch als mathematische Operation angegeben werden
i[i[1]] = 8;  // Auch Variablen können als Index dienen

Wie bei den normalen Variablen können auch Felder vereinfacht deklariert werden, wobei es zwei verschiedene Möglichkeiten der Syntax gibt:

int[] i, j, k;
int i[], j[], k[];

Auch eine Gekoppelte Deklaration und Initialisierung ist möglich:

int[] i = new int[5];

Diese Felder sind bisher eindimensional, also einfache Listen von Variablen. Ein Anwendungsbeispiel hierfür ist die Anzahl der Anwohner in verschiedenen (durchnummerierten Städten):

int iAnwohner[] = new int[4];
iAnwohner[0] = 100000;
iAnwohner[1] = iAnwohner[0] * 2;

Mehrdimensionale Felder

Nun soll aber die Anzahl etwas genauer angegeben werden, nämlich aufgeteilt als die Anzahl der Männer, Frauen und Kinder. Hierbei sollen die Männer mit [0], die Frauen mit [1] und die Kinder mit [2] bezeichnet werden.
Dadurch müssen drei verschiedene Anzahlen angegeben werden, und das zu jeder der Städte. Die Anzahl der benötigten Variablen ist dann das dreifache der Anzahl der Städte. Speichern könnte man diese Daten in einer Tabelle, in der die Zeilen für die verschiedenen Städte stehen und die Spalten jeweils für Männer, Frauen und Kinder:

[bild]

In Java wird so ein zweidimensionales Feld wie folgt realisiert:

int[][] iAnwohner = new int[5][3]; // 5 Städte, je drei Anwohnerzahlen

Der Zugriff erfolgt mit:

iAnwohner[2][1] = 23000; // in Stadt 2 leben 23000 Frauen

Es können beliebig viele “Dimensionen” hintereinandergehängt werden:

int[][][][] i = new int[5][8][23][17]; // Vierdimensionales Feld

Dieses Vorgehen ist vor allem bei umfangreichen Datenmengen den normalen Variablen vorzuziehen.

Ähnliche Artikel

Kommentar verfassen