HSZG Vorkurs Informatik WS 2014/Arrays/Einführung

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
Bisher haben wir mit Methoden gearbeitet, die eine überschaubare Anzahl von Parametern besaßen. Stellen Sie sich aber vor, wir möchten einer Methode eine sehr große Menge an Daten zur Verarbeitung übergeben. Wir müssten hunderte Parameter anlegen und für diese auch noch verschiedene Namen finden. Die Namen müssten wir uns merken, da es keine Möglichkeit gibt, die Elemente einfach über ihren Reihenfolgeindex anzusprechen.

Damit es nicht zu solchen Situationen kommt, gibt es ''Arrays''. Ein Array ist eine ''Datenstruktur'' zur Aufnahme von mehreren Daten des gleichen Typs. Die Daten nennen wir auch die ''Elemente'' der Datenstruktur. Auf sie kann mit Hilfe eines ''Index'' zugegriffen werden.

Ein Array, welches Elemente vom Typ int enthält, kann z.B. wie folgt deklariert werden:
<code id="541ef76806d01">int[] array = new int[3];</code>

Daraus lässt sich ein allgemeines Schema zur Definition von Arrays ableiten:

 <Datentyp>[] <Name> = new <Datentyp>[<Anzahl der Elemente>];

Den Datentyp und den Namen des Arrays können wir beliebig wählen, also z.B. auch double, float, boolean oder String. Die Anzahl der Elemente muss fest vorgegeben werden. 

Das oben definierte Array mit Elementen vom Typ ''int'' wollen wir nun mit Daten füllen. 
<code id="541ef76806d77">array[0] = 4;
array[1] = 5;
array[2] = 75755;
</code>

Wie Sie sehen, verwenden wir das Array wie eine normale Variable, der wir Werte zuweisen. In eckigen Klammern müssen wir aber den Index angeben, d.h. die Position im Array, an welche der Wert eingefügt werden soll. Es gilt die Regel:
* die erste Position hat den Index 0
* die zweite Position hat den Index 1
* die letzte Position hat den Index <Anzahl der Elemente> - 1.

Umgekehrt kann es sein, dass wir ein Element eines Arrays an einer bestimmten Position abfragen und einer Variablen zuweisen möchten. Wir möchten z.B. das erste Element erhalten:
<code id="541ef76806de5">int first_element = array[0];
System.out.println(first_element);</code>

Ein Array können wir nun auch als Parameter einer Methode einsetzen. Dass es sich bei einem Parameter um ein Array handelt, erkennen wir an den eckigen Klammern.
<code id="541ef9fa157d7">int beispiel(int[] daten){
int element = daten[0];
return element;
}</code>
<run id="541ef9fa158a2">int daten = new int[1];
daten[0] = 5;

int ergebnis = beispiel(daten);
System.out.println(ergebnis);</run>

Woher weiß jedoch die Methode ''beispiel()'', wie viele Elemente das übergebene Array besitzt? Diese Information erhalten wir bei jedem Array über das Attribut ''length'':
<run id="541ef9fa1591e">int daten = new int[5];
System.out.println(daten.length);
</run>


'''Aufgabe 1'''