ich finde den while-Loop sehr angenehm. Allerdings erlaubt er nicht die Declaration einer Variablen die einmalig beim Loop-Start initiert wird (und nicht in jedem Loop-Durchlauf) und welche nur im Loop und nicht ausserhalb sichtbar ist.
Der For Loop erlaubt das. Warum nicht der While-Loop? Oder habe ich was uebersehen?!
Nein übersehen hast du nichts. Die while-Schleife ist einfach so definiert und das passt auch so. Für diese Bedürfnisse gibt es dann eben die for-Schleife.
Was dir vielleicht bis jetzt noch nicht aufgefallen ist:
Es ist möglich jede for-Schleife in eine while-Schleife umzuwandeln aber auch aus jeder while-Schleife eine for-Schleife zu machen.
Kleiner Hinweis:
Man kann zwar beiden Schleifen in die jeweils andere "umwandeln" aber trotzdem sollte man für jede den richtigen Einsatz finden.
for-Schleife: Diese Schleife solltest du verwenden wenn du weißt wieviele Durchläufe gemacht werden (fixe Anzahl, Größe der Liste, ....)
while-Schleife: Diese Schleife solltest du verwendne wenn du nicht weißt wieviele Durchläufe gemacht werden (für jedes Element der Liste, ....)
Ich finde ja ein bischen nervig, dass ich eine Variable die ich EXCLUSIV im while-Loop nutze AUSSERHALB des while-Loop definieren und einen Wert zuweisen muss.
Der For-Loop zeigt, dass es nicht noetig sein sollte die Variable ausserhalb des Loop-Scopes zu definieren.
Wenn es nach Geschmack ginge würde es bestimmt nicht beide Arten von Schleifen geben. Oder glaubst Du die Entwickler der Sprache haben sich gedacht wir machen da für jeden Programmierer-Geschmack mal was eigenes?
Jede Schleife hat ihre speziellen Vor- und Nachteile und sollten je nach Verwendungszweck entsprechend eingesetzt werden.
Ich finde ja ein bischen nervig, dass ich eine Variable die ich EXCLUSIV im while-Loop nutze AUSSERHALB des while-Loop definieren und einen Wert zuweisen muss.
Jein ... die einzige Variable die ich normalerweise außerhalb der while-Schleife erstelle ist die für die Abbruchbedingung.
Und das passt so, weil ich die while-Schleife auch von "außerhalb" stoppen können sollte (wichtig bei Threads und ähnlichem) damit sie nicht endlos läuft.
Eine for-Schleife an sich läuft nur eine bestimmte Anzahl an Durchläufen lang (solange kein Fehler eingebaut bzw. Blödsinn geschrieben wurde ) und ist dann somit von selbst fertig.