next up previous contents index
Nächste Seite: Grundsymbole, Operatoren und Ausdrücke Aufwärts: Programmieren in Java Vorherige Seite: Interfaces   Inhalt   Index

Unterabschnitte

Arrays

Arrays in Java haben vieles mit Objekten gemeinsam:






Erzeugung von Arrays

Mit new:


   Button buttons[] = new Button[12];

oder


   Button[] buttons = new Button[12];



Dies ist kein Konstruktoraufruf. Es werden keine Button-Objekte erzeugt.



Das Array wird mit den Default-Initialwerten (Seite [*]) initialisiert (hier null).

Mit Initialisierer:


   int[] lookup = {1, 2, 4, 8, 16};



erzeugt dynamisch ein Array geeigneter Länge und initialisiert dessen Elemente. Ausdrücke beliebig (anders als in C).




Seit Java1.1:

Anonyme Arrays durch Kombination Initialisierer/ new:


   mymenu(new String[] {"Open",
                        "Close",
                        "Exit"
                       };



Mehrdimensionale Arrays

Realisiert als Arrays von Arrays (wie in C).


   byte[][] twodimarray =
      new byte[256][16];

oder


   byte twodimarray[][] =
      new byte[256][16];

oder gar


   byte[] twodimarray[] =
      new byte[256][16];



Ablauf:

1.)
Allokiere ein 256-elementiges Array (Typ byte[][]).
2.)
Allokiere 256 16-elementige Arrays (Typ byte[]).

Setze Referenzen auf diese in das Array aus 1.).

Initialisiere die 16 Bytes jeweils mit 0.



Teilweise Allokation:


   int [][] ThreeD = new int[10][];

``Hintere'' Dimensionen dürfen offengelassen werden.



Nützlich für ``nicht-rechteckige'' Arrays:


   short[][] dreieck = new short[10][];
   for (int i=0; i < dreieck.length; i++)
     dreieck[i] = new short[i+1];





Allokation mit geschachtelten Initialisierern:


   int[][] a3x2 = {{1,2}, {2,3}, {3,4}};



Geht auch ``nicht-rechteckig'':


   int[][] b = {{1,2}, {2,3,4}, {5, 6}};


Zugriff auf Arrays

Arrays haben ein konstantes Attribut length, das die Anzahl der Elemente enthält.


   for (int i=0; i < dreieck.length; i++)
     dreieck[i] = new short[i+1];




Die Array-Größe ist nicht Eigenschaft des Typs. Eine String[]-Variable, zum Beispiel, kann unterschiedliche Array-Objekte aufnehmen:


   String[] strings;
   strings = new String[10];
   strings = new String[42];



next up previous contents index
Nächste Seite: Grundsymbole, Operatoren und Ausdrücke Aufwärts: Programmieren in Java Vorherige Seite: Interfaces   Inhalt   Index
Peter Pfahler, 1997