I saw this keyword for the first time and I was wondering if someone could explain to me what it does.
continue
keyword?The continue keyword can be used in any of the loop control structures. It causes the loop to immediately jump to the next iteration of the loop. In a for loop, the continue keyword causes control to immediately jump to the update statement.
The continue statement in C programming works somewhat like the break statement. Instead of forcing termination, it forces the next iteration of the loop to take place, skipping any code in between. For the for loop, continue statement causes the conditional test and increment portions of the loop to execute.
continue
is kind of like goto
. Are you familiar with break
? It's easier to think about them in contrast:
break
terminates the loop (jumps to the code below it).
continue
terminates the rest of the processing of the code within the loop for the current iteration, but continues the loop.
A continue
statement without a label will re-execute from the condition the innermost while
or do
loop, and from the update expression of the innermost for
loop. It is often used to early-terminate a loop's processing and thereby avoid deeply-nested if
statements. In the following example continue
will get the next line, without processing the following statement in the loop.
while (getNext(line)) { if (line.isEmpty() || line.isComment()) continue; // More code here }
With a label, continue
will re-execute from the loop with the corresponding label, rather than the innermost loop. This can be used to escape deeply-nested loops, or simply for clarity.
Sometimes continue
is also used as a placeholder in order to make an empty loop body more clear.
for (count = 0; foo.moreData(); count++) continue;
The same statement without a label also exists in C and C++. The equivalent in Perl is next
.
This type of control flow is not recommended, but if you so choose you can also use continue
to simulate a limited form of goto
. In the following example the continue
will re-execute the empty for (;;)
loop.
aLoopName: for (;;) { // ... while (someCondition) // ... if (otherCondition) continue aLoopName;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With