In deze tutorial leer je met behulp van voorbeelden over de continue instructie en de gelabelde continue instructie in Java.
Als u met lussen werkt, wilt u soms enkele instructies overslaan of de lus beëindigen. In dergelijke gevallen worden break
en continue
verklaringen gebruikt.
Ga break
naar Java break voor meer informatie over de verklaring. Hier leren we over de continue
verklaring.
Java gaat door
De continue
instructie slaat de huidige iteratie van de lus ( for
, while
, do… while
, enz).
Na de continue
instructie gaat het programma naar het einde van de lus. En testuitdrukking wordt geëvalueerd (update-instructie wordt geëvalueerd in het geval van de for-lus).
Hier is de syntaxis van de continue instructie.
continue;
Opmerking : de continue verklaring wordt bijna altijd gebruikt in besluitvormingsverklaringen (if… else-verklaring).
Werking van Java vervolgverklaring

Voorbeeld 1: Java continue instructie
class Main ( public static void main(String() args) ( // for loop for (int i = 1; i <= 10; ++i) ( // if value of i is between 4 and 9 // continue is executed if (i> 4 && i < 9) ( continue; ) System.out.println(i); ) ) )
Uitgang :
1 2 3 4 9 10
In het bovenstaande programma gebruiken we de for
lus om de waarde van i in elke iteratie af te drukken. Ga for
naar Java for loop om te weten hoe loop werkt. Let op de verklaring,
if (i> 5 && i < 9) ( continue; )
Hier wordt de continue
instructie uitgevoerd wanneer de waarde van i groter wordt dan 4 en kleiner dan 9 .
Vervolgens wordt de afdrukinstructie binnen de lus overgeslagen. Daarom krijgen we de uitvoer met waarden 5 , 6 , 7 en 8 overgeslagen.
Voorbeeld 2: Bereken de som van 5 positieve getallen
import java.util.Scanner; class Main ( public static void main(String() args) ( Double number, sum = 0.0; // create an object of Scanner Scanner input = new Scanner(System.in); for (int i = 1; i < 6; ++i) ( System.out.print("Enter number " + i + " : "); // takes input from the user number = input.nextDouble(); // if number is negative // continue statement is executed if (number <= 0.0) ( continue; ) sum += number; ) System.out.println("Sum = " + sum); input.close(); ) )
Uitgang :
Voer nummer 1 in: 2.2 Voer nummer 2 in: 5.6 Voer nummer 3 in: 0 Voer nummer 4 in: -2.4 Voer nummer 5 in: -3 Som = 7.8
In het bovenstaande voorbeeld hebben we de for-lus gebruikt om de som van 5 positieve getallen af te drukken. Let op de lijn,
if (number < 0.0) ( continue; )
Hier, wanneer de gebruiker een negatief getal invoert, wordt de continue
instructie uitgevoerd. Dit slaat de huidige iteratie van de lus over en brengt de programmabesturing naar de update-uitdrukking van de lus.
Opmerking : om input van de gebruiker te krijgen, hebben we het Scanner
object gebruikt. Bezoek Java Scanner voor meer informatie.
Java gaat verder met Nested Loop
In het geval van geneste lussen in Java, continue
slaat de instructie de huidige iteratie van de binnenste lus over.

Voorbeeld 3: ga verder met geneste lus
class Main ( public static void main(String() args) ( int i = 1, j = 1; // outer loop while (i <= 3) ( System.out.println("Outer Loop: " + i); // inner loop while(j <= 3) ( if(j == 2) ( j++; continue; ) System.out.println("Inner Loop: " + j); j++; ) i++; ) ) )
Uitvoer
Buitenste lus: 1 binnenste lus: 1 binnenste lus: 3 buitenste lus: 2 buitenste lus: 3
In het bovenstaande voorbeeld hebben we de geneste while-lus gebruikt. Merk op dat we de continue
instructie in de binnenste lus hebben gebruikt .
if(j == 2) ( j++; continue: )
Hier, wanneer de waarde van j 2 is , wordt de waarde van j verhoogd en wordt de continue
instructie uitgevoerd.
Dit slaat de iteratie van de binnenste lus over. Daarom wordt de tekst Inner Loop: 2 overgeslagen uit de uitvoer.
Gelabeld vervolg Statement
Tot nu toe hebben we de niet-gelabelde continue
verklaring gebruikt. Er is echter een andere vorm van continue
instructie in Java die bekend staat als gelabeld doorgaan .
Het bevat het label van de lus samen met het continue
trefwoord. Bijvoorbeeld,
continue label;
Hier continue
slaat de instructie de huidige iteratie van de lus over die is gespecificeerd door label.

We kunnen zien dat de label-ID de buitenste lus aangeeft. Let op het gebruik van het doorgaan in de binnenste lus.
Hier continue
slaat de instructie de huidige iteratie van de gelabelde instructie over (dwz buitenste lus). Vervolgens gaat de programmabesturing naar de volgende iteratie van de gelabelde instructie.
Voorbeeld 4: gelabeld vervolg Statement
class Main ( public static void main(String() args) ( // outer loop is labeled as first first: for (int i = 1; i < 6; ++i) ( // inner loop for (int j = 1; j < 5; ++j) ( if (i == 3 || j == 2) // skips the current iteration of outer loop continue first; System.out.println("i = " + i + "; j = " + j); ) ) ) )
Uitgang :
i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1
In het bovenstaande voorbeeld wordt de labeled continue
instructie gebruikt om de huidige iteratie van de lus met het label eerste over te slaan.
if (i==3 || j==2) continue first;
Hier kunnen we zien dat de buitenste for
lus als eerste wordt aangeduid,
first: for (int i = 1; i < 6; ++i) (… )
Daarom wordt de iteratie van de buitenste for
lus overgeslagen als de waarde van i 3 is of de waarde van j 2 is.
Opmerking : het gebruik van gelabeld continue
wordt vaak afgeraden omdat het uw code moeilijk te begrijpen maakt. Als u zich in een situatie bevindt waarin u gelabeld moet gebruiken continue
, refactureer dan uw code en probeer het op een andere manier op te lossen om het leesbaarder te maken.