Helmichs Informatik-Lexikon

Arrays als Parameter

Arrays können als Parameter für Methoden eingesetzt werden, wie das folgende Beispiel zeigt:

public class ArrayTest
{
    int[] liste;
    
    public ArrayTest()
    {
      liste = new int[30];
      for (int i=0; i < 30; i++)
         liste[i] = i*i;
         
      ArrayZeigen.anzeigen(liste);
    }
}

Quelltext 1: Erzeugung eines Arrays und Übergabe als Parameter an eine Methode

Der Array liste wird hier zunächst einmal erzeugt (Deklaration, Initialisierung) und dann der Methode anzeigen() der Klasse ArrayZeigen übergeben - als Parameter.

Hier der Quelltext der Klasse ArrayZeigen:

public class ArrayZeigen
{
    public static void anzeigen(int[] zahlen)
    {
       for (int i=1; i <= zahlen.length; i++)
          if (i%10 == 0)
             System.out.println(zahlen[i-1]);
          else
             System.out.print(zahlen[i-1] + "\t");
    }
}

Quelltext 2: Einsetzen eines int-Arrays beliebiger Größe als Parameter

Die anzeigen()-Methode wurde als static deklariert, damit man sie aufrufen kann, ohne dass zuvor Objekte der Klasse ArrayZeigen erzeugt werden müssen - ähnlich wie man die Methoden der Klasse Math aufrufen kann, ohne dass man vorher ein Math-Objekt erzeugen muss.

Der Array-Parameter in der Kopfzeile der anzeigen()-Methode besteht aus dem Datentypen int, gefolgt von einem eckigen Klammerpaar. Dann kommt irgendein Bezeichner - hier zahlen. Der Name dieses Bezeichners kann völlig frei gewählt werden, er muss nichts mit dem Namen des übergebenen Arrays zu tun haben - aber das gilt ja grundsätzlich für alle formalen Parameter.

Die Methode anzeigen() soll ja für alle int-Arrays gelten, daher kann man innerhalb der Methode von keiner festen Array-Länge ausgehen. Heute wird vielleicht ein Array der Länge 20 übergeben, morgen dann ein Array der Länge 3000. Die Methode muss also in der Lage sein, die Länge des übergebenen Arrays selbst zu ermitteln. Dazu dient das Attribut length, das jeder Array mit sich bringt. Dieses Attribut enthält die Zahl der Arrayelemente und kann zum Beispiel von for-Schleifen sinnvoll genutzt werden, um den ganzen Array auszugeben.