Best Practice Schleifenbedingung

Bitfehler

Bekanntes Mitglied
Moin zusammen,

ich habe mal eine Frage. Man betrachte den folgenden Code-Abschnitt:

Code:
        Integer[] array = new Integer[]{10,20,30,40};
       
        for(int i=0; i < array.length; i++){
            System.out.println("Wert: "+array[i]);
        }
       
        for(int i=0; i <= array.length-1; i++){
            System.out.println("Wert: "+array[i]);
        }

Das beide Schleifen das gleiche ausgeben, ist mir bewusst. Mir geht es eher um den Stil.
  • Ist es egal, wie man den Schleifenkopf schreibt? Die zweite Variante müsste ja eine Prüfung der Bedingung weniger durchlaufen. Ist das besser?
  • Geht bei der zweite Variante soviel Lesbarkeit verloren, das man diese nicht verwenden sollte?
  • Wenn man nach for-Schleife sucht, findet man oft die erste Variante. Hat das einen besonderen Grund?

Mit freundlichen Gruß
 

Hellosager

Aktives Mitglied
Also so wie ich das sehe, prüfen beide Schleifen gleichoft die Bedingung.
Die erste Variante ist besser, da sie lesbarer ist und eben genau ihren Zweck erfüllt.
Sie prüft ob i die Arraylänge überschreitet.
Die andere Variante würde mich zu sehr verwirren, obwohl sie das Gleiche ausgibt.
 

InfectedBytes

Top Contributor
in anbetracht von super, ultra, mikro optimierung, ist die erste Variante auch "schneller". Denn dort wird eben nur ein Vergleich durchgeführt. Die zweite Variante muss erst eine Rechnung durchführen (length-1) und kann erst dann vergleichen.

p.s.
Nutz lieber ein int Array anstatt einem Integer Array
ansonsten würde sich hier auch eine for-each schleife anbieten:
Java:
for(int value : array) {
  System.out.println("Wert " + value);
}
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben