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:
<run id="541ef76806d01">int[] array = new int[3];</run>

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

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

Den Namen des Arrays und den Datentyp 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. 
<run id="541ef76806d77">int[] array = new int[3];

array[0] = 4;
array[1] = 5;
array[2] = 75755;
</run>

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:
<run id="541ef76806de5">int[] array = new int[3];

array[0] = 4;
array[1] = 5;
array[2] = 75755;

int first_element = array[0];
System.out.println(first_element);</run>

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'''

Entwickeln Sie eine Methode, die ein Array vom Typ int als Parameter entgegennimmt und das erste Element des Arrays zurückgibt!
<code id="541efdfd005a6"></code>

Testen Sie Ihre Methode, indem Sie in der folgenden Code-Box
# ein Array mit der Größe 4 deklarieren,
# das Array vollständig mit Zahlen füllen,
# ihre Methode aufrufen und das Array dabei als Parameter angeben,
# den Rückgabewert der Methode in einer Variable speichern und mit System.out.println auf der Konsole ausgeben!
<run id="541efdfd00766"></run>


'''Aufgabe 2'''

Entwickeln Sie eine Methode, die ein Array vom Typ int als Parameter entgegennimmt und das letzte Element des Arrays zurückgibt! 
<code id="541efdfd00632"></code>

Testen Sie Ihre Methode, indem Sie in der folgenden Code-Box
# ein Array mit einer bestimmten Größe deklarieren,
# das Array vollständig Zahlen füllen,
# ihre Methode aufrufen und das Array dabei als Parameter angeben,
# den Rückgabewert der Methode in einer Variable speichern und mit System.out.println auf der Konsole ausgeben!
<run id="541efdfd00825"></run>


'''Aufgabe 3'''

Entwickeln Sie eine Methode, die ein Array vom Typ int als Parameter entgegennimmt und das dritte Element des Arrays zurückgibt, falls das Array mindestens drei Elemente enthält (ansonsten 0)!
<code id="541efdfd006b7"></code>
<run id="541efdfd008b9"></run>


'''Aufgabe 4'''

Entwickeln Sie eine Methode, die ein Array vom Typ int als Parameter entgegennimmt und die Summe des zweiten und dritten Elements zurückgibt, falls das Array mindestens drei Elemente enthält (ansonsten 0)!
<code id="541efdfd006b7"></code>
<run id="541efdfd008b9"></run>