17.3 Erzeugen eines Feldes mit new
 
Deklaration mit new In den wenigsten Fällen macht es Sinn, vom Programmierer über den Quelltext die Daten in ein Feld einzutragen. Andererseits muss beim Anlegen eines Feldes festgelegt werden, wie viel Platz es im Speicher belegt. Mit der Zeile

boolean[] ungerade = new boolean[5];

wird ein Feld mit 5 Plätzen für boolsche Werte deklariert und initialisiert. Alternativ lässt sich die Deklaration und Initialisierung auch auf zwei Zeilen verteilen. Das ist insbesondere dann wichtig, wenn Deklaration und Initialisierung an verschiedenen Stellen vorgenommen werden sollen. Wir erinnern uns an die Deklaration und Initialisierung einer Turtle in den DemoProgrammen im letzten Kapitel.

boolean[] gerade;
gerade = new boolean[5];
 

Download:

Feld3.java

public class Feld3{
  public static void main(String[] args){
    boolean[] gerade = new boolean[5];
    for (int i=0;i<3;i++) {
      gerade[i]=(i%2==0);
    }
    for (int i=0;i<gerade.length;i++){
      System.out.println(gerade[i]);
    }
  }
}

Das Programm trägt an den Plätzen, deren Platznummern gerade sind den Wert true ein. Die Ausgabe liefert:

true
false
true
false
false

Ein Blick auf die Schleife zeigt, dass nur die ersten drei Plätze, also die mit den Platznummern 0 bis 2 belegt werden; die Ausgabe liefert aber die Werte aller deklarierter Plätze . Wir erkennen, dass nicht explizit initialisierte Plätze mit false vorinitialisiert sind.

Wie flexibel ein Feld ist, zeigt das nachfolgende Programm, das Sieb des Erathostenes. Der Bediener des Programms, wird, wenn er angeben soll, bis zu welcher Zahl auf prim geprüft werden soll, eigentlich gefragt, wie viel Plätze das Feld haben soll. Hier endet allerdings die Flexibilität, während des laufenden Programms kann die Größe des Feldes sich nicht mehr ändern, das Feld kann weder schrumpfen noch wachsen. Dazu braucht man schon dynamische Größen, wie wir sie erst später kennen lernen werden, wenn wir mit Objekt Orientierter Programmierung (OOP) vertraut sind

 
zu 17.4 Sieb des Erathostenes (das Programm)
zur Startseite www.pohlig.de  (C) MPohlig 2003