08 Java – Arrays
Ein Array ist eine Art Container eines Datentyps, in dessen Inhalt eine feste Anzahl von Elementen passt. Die Größe des Arrays muss am Anfang festgelegt werden – entweder durch den Entwickler selbst oder durch den Compiler. Da Arrays statisch sind, kann die Größe danach auch nicht mehr geändert werden. Zudem können sie aus jeder Art von Objekten gebildet werden.
Struktur
Folgendes Beispiel deklariert ein int[]
und wird mit einer Größe von 5
initialisiert.
Wird das Array direkt mit Werten initialisiert, übernimmt der Compiler die Aufgabe die richtige Größe des Arrays anzulegen.
Auch eine verkürzte Schreibweise ist möglich.
Indizes
In vielen Programmiersprachen beginnen Indizes aus historischen und praktischen Gründen bei 0
statt bei 1
. Diese Konvention hat sich im Laufe der Zeit etabliert und bietet einige Vorteile. Die Werte innerhalb eines Arrays werden über die Positionen (Indizes) referenziert.
Welcher Wert wird beim folgenden Beispiel auf der Konsole ausgegeben?
Die Zahl die in den eckigen Klammern angegeben wird, bezieht sich auf den Index – also die Position auf dem sich der Wert befindet.
Elemente einfügen und auslesen
Iteration
Jeden Wert einzeln aus einem Array zu lesen strengt an und lässt den Code im Museum der Spaghetti-Codes erstrahlen. Wir wissen bereits, wie Schleifen funktionieren. Nutzen wir eine, die das gesamte Array auf der Konsole ausgibt. Mit nums.length
können wir die Größe des Arrays abfragen.
Unser Array wurde mit einer Größe von 10
initialisiert. Da wir nur 4
Werte hinzugefügt haben, bleiben 6
frei Plätze. Java initialisiert standardmäßig leere numerische Arrays mit 0
, booleans mit false
und Objekte mit null
.
Und ein char[]
-Array?
Das \u0000
-Zeichen ist das Nullzeichen und entspricht in der ASCII- und Unicode-Tabelle dem Zeichen mit dem Wert 0
. Es wird oft als NUL
oder null character bezeichnet
Viele Entwicklungsumgebungen und Texteditoren haben spezielle Darstellungen für Zeichen, die normalerweise unsichtbar sind, wie das Nullzeichen (\u0000
). Diese Darstellung kann je nach Umgebung variieren.
In IntelliJ IDEA wird das Nullzeichen oft als ein kleines Rechteck mit einer diagonalen Linie dargestellt, um den Entwickler darauf hinzuweisen, dass es sich um ein unsichtbares oder nicht druckbares Zeichen handelt.
Mehrdimensionale Arrays
Arrays lassen sich mehrdimensional darstellen. Tatsächlich verwaltet Java jedoch keine echten mehrdimensionalen Arrays, sondern Arrays von Arrays (von Arrays …). Um ein mehrdimensionales Array anzulegen, muss ein weiteres Paar Klammern hinzugefügt werden – ein paar Klammern pro Dimension. Die folgenden Beispiele beinhaltet 2 Zeilen und 3 Spalten.
Beispiele für die Ausgabe des zweidimensionalen Arrays
Zu beachten ist, dass bei der zweiten Variante die Schleifenvariable i
den Typ int[]
aufweist. Jedes Element, dass diese Schleifenvariable durchläuft, ist also selbst ein Array.
Konsolenausgabe in beiden Fällen: