Wert einer while-Schleife nach Abarbeitung

Bootsmann

Neues Mitglied
Hallo,

ich habe hier eine Aufgabe mit einer Schleife:

Java:
int i=5;
int ganz=8;
while (i-- <= 3)
ganz = ganz + 2;

Frage: "Welchen Wert hat ganz nach der Abarbeitung der Schleife?"

Die Antwort ist auch vorgegeben: ganz=8. Aber wie funktioniert der Ablauf der Schleife? ganz ist doch ganz+2 (also Ergebnis 10), solange i <= 3 ist, wie ich das verstehe. Bei i=4 und nach Abarbeitung i=5 wäre ganz=8 dann korrekt - dachte ich zuerst. Aber: es heißt ja (i-- <=3), bedeutet das nicht, dass die Schleife durch das Dekrementieren von 5 auf 0 heruntergezählt wird? Aber dann haut das Ergebnis ganz=8 nicht hin, wie ich das sehe.

Hat jemand kurz Zeit, mir das zu erklären?

Viele Grüße!
 
Also zum einen wird nicht
Code:
i <= 3
abgefragt, sondern
Code:
i-- <= 3
, was hier aber keinen Unterschied macht. (i wird verglichen und nach dem Vergleich reduziert.)

Da i auf 5 gesetzt wurde, wird der Schleifenrumpf (das Erhöhen von ganz) nicht durchlaufen.
 
Da du die Schleife nicht durchläufst ist ganz = 8.
An der Sinnhaftigkeit dieses Codes kann man jetzt zweifeln, aber ganz = 8 wäre zumindest hier erfüllt😀

Ein einfaches Sysout hilft in solchen Fällen ungemein.

Solltest du also eine Bedingung schaffen, bei der die Schleife durchlaufen wird, dann erhöht sich ganz jeweils um 2.
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben