Continue
continue
works slightly differently with for
loops than how it does with while
loops.
Any time you hit a line with continue
you will immediately jump back to the top of the loop, but
unlike with a while
loop, the statement which updates your variable will still run.
void main() {
for (int i = 0; i < 5; i++) {
if (i == 2) {
// i++ will still run
continue;
}
System.out.println(i);
}
// 0
// 1
// 3
// 4
}
So the above for
loop is not equivalent to this while
loop.
void main() {
int i = 0;
while (i < 5) {
if (i == 2) {
continue;
}
System.out.println(i);
i++;
}
// 0
// 1
// ... spins forever ...
}
It is equivalent to this one.
void main() {
int i = 0;
while (i < 5) {
if (i == 2) {
i++
continue;
}
System.out.println(i);
i++;
}
// 0
// 1
// 3
// 4
}