Das Anfangselement (Index 0) in einem Array wird niemals größer sein als das größte Element in einem Array. (Es könnte das größte Element des Arrays sein; aber das ist OK.)
max = array[0];
Diese Möglichkeit max
zu initialisieren setzt voraus, dass
es mindestens ein Element im Array gibt.
Wenn es keines gibt, wird das Java System feststellen, dass
der Index "0" außerhalb der Grenzen liegt und wird
eine Ausnahme auslösen.
max
falsch initialisieren
Klassischer Bug (1):
Ihr könntet versucht sein max
mit etwas zu initialisieren
von dem Ihr annehmt, dass es bestimmt weniger ist als das Maximum z.B. -999.
Aber wenn Ihr das tut, macht Ihr eine gefährliche Annahme über die Daten.
Vielleicht enthält das Array die nationalen Schulden der letzten 10 Jahre.
Alle diese Werte sind negativ und -999 würde das richtige Maximum leicht überschreiten.
Betrachtet das Programm. Beachtet wie max
mit dem ersten Element des Arrays (Index 0) initialisiert wird. Das setzt voraus, dass das Array existiert und mindestens ein Element hat.
Für das gegenwärtige Programm ist das eine sichere Annahme. Das könnte in anderen Situationen nicht der Fall sein.
Die for
-Schleife betrachtet jedes Element des Arrays, beginnend mit dem
ersten Element mit dem Index 0, um zu sehen ob das Element größer ist als das
gegenwärtige Maximum.
Es wäre OK mit index
1 zu beginnen, da der Index 0 für die Initialisierung
von max
verwendet wurde.
Aber das Programm funktioniert gut so wie es geschrieben wurde (sobald wir die Lücke ausgefüllt haben.)
Wir vervollständigen das Programm.