while Schleife

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

while Schleife
Überprüft Java ständig ob die while Bedingung stimmt oder ist es so “intelligent”, dass es von alleine merkt, wenn die while Bedingung nicht mehr zutrifft?


Ich nehme mal an, dass es ständig nachfragen muss. Möchte eben aber sicher gehen, dass meine Annahme nicht falsch ist.


Wie meinst du das?


Was genau meinst du denn mit ständig überprüfen?
Grundsätzlich wird vor jedem Durchlauf der while-Schleife geprüft, ob die Bedinung noch erfüllt ist. Dann wird der Schleifenrumpf ausgeführt und anschließend wieder geprüft, ob die Schleife nochmals durchlaufen werden muss.

Es gibt aber durchaus Fälle, in denen die Prüfung ggf. wegoptimiert wird, wenn sie nicht notwendig ist (beispielsweise wenn du eine while(true)-Schleife hast, dann trifft die Bedingung ja immer zu). Aber das ist eher die Ausnahme und du wirst das nicht mitbekommen.


Die while Bedingung wird immer am Anfang eines Schleifendurchlaufes geprüft.
Eine schleife wird auch auf keinen Fall abgebrochen wenn sich die Bedingung währenddessen ändert.
(Solltest du das so gemeint haben)


Das wollte ich wissen. Danke.
Ich versuche das nächste mal meine Frage klarer zu formulieren.


so wie ich das verstehe, meintest du dass das ergebnis bedingung durch ein ereignis bedingt -im hintergrund- umgeschaltet wird falls gewollt.
und nein, das ist nicht so, sondern wird die bedingung ganz logisch (und gedanklich einfach gehalten) jedes mal neu überprüft wenn der durchlauf bei der bedingung ankommt.

…keine magie!