Java do while-Schleife Inkrementieren
int i = 10;
int j = 0;
do {
j++;
System.out.println("loop:" + j);
while (i++ < 15) { //line6
i = i + 20;
System.out.println(i);
} ;
} while (i < 2);
System.out.println("i_final:" + i);
Ausgabe:
loop:1
31
i_final:32
Warum die i_final
ist 32
und nicht 31
? Wie wir sehen können, die do_while
Schleife hat nur einmal ausgeführt, so dass die Linie 8 sollte auch nur einmal ausgeführt, daher Inkrementieren Sie den Wert von "i" um 1. Wann hast 31
erhöht 32
?
- Der Inhalt der while-Schleife hat einmal ausgeführt, aber der Zustand wurde zweimal geprüft.
Du musst angemeldet sein, um einen Kommentar abzugeben.
wenn du da eine while-Schleife (i++ < 15) , prüft es die Bedingung und beenden die Schleife, wenn i++ ist < 15 , Aber hier, wenn Sie eine do-while-Schleife, j++ die Schleife geht 2 mal, und wenn es um while (i++ < 15) es increaments den Wert von i um 1 und bleibt stehen... also in der zweiten Schleife den Wert von i um eins erhöht, aber die Funktion innerhalb der while-Schleife bleibt das gleiche wie es Stoppt, wenn ich++ ist > als 15
WENN Sie Folgendes tun, erhalten Sie 31
While-Schleife wird zweimal ausgeführt, bevor seine Pause.
Zuerst erhöht, 11 .
Check mit 15. Gibt true zurück.
Nun erhöht sich zum 31. (
i = i + 20
)nun wieder die while-Schleife .
erhöht es den Wert .
Ersten mal bei der while-Schleife die Bedingung geprüft wird: i=11, danach habe ich erhöht von 20, also i=31. Dann while-Bedingung erneut geprüft, wenn Sie gefunden, dass 31 < 15 falsch ist ich wird noch um 1 erhöht. Also ich =32