I denna handledning lär du dig om fortsättningsuttalandet och märkt fortsätt uttalande i Java med hjälp av exempel.
När du arbetar med slingor kanske du ibland vill hoppa över några uttalanden eller avsluta slingan. I sådana fall break
och continue
uttalanden används.
För att lära dig mer om break
uttalandet, besök Java break. Här lär vi oss om continue
uttalandet.
Java fortsätter
Den continue
uttalande hoppar över det aktuella iterationen av en slinga ( for
, while
, do… while
, etc).
Efter continue
uttalandet flyttar programmet till slutet av slingan. Och testuttryck utvärderas (uppdateringsuttalande utvärderas i fallet med for-loop).
Här är syntaxen för fortsättningsuttalandet.
continue;
Obs : Fortsättningsuttalandet används nästan alltid i uttalanden om beslutsfattande (om … annars uttalande).
Arbeta med Java fortsätt uttalande
Working of Java continue StatementExempel 1: Java fortsätt uttalande
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); ) ) )
Utgång :
1 2 3 4 9 10
I programmet ovan använder vi for
slingan för att skriva ut värdet på i varje iteration. För att veta hur for
loop fungerar, besök Java for loop. Lägg märke till uttalandet,
if (i> 5 && i < 9) ( continue; )
Här continue
utförs uttalandet när värdet på i blir mer än 4 och mindre än 9 .
Det hoppar sedan över utskriften i slingan. Därför får vi utdata med värdena 5 , 6 , 7 och 8 hoppade över.
Exempel 2: Beräkna summan av 5 positiva tal
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(); ) )
Utgång :
Ange nummer 1: 2.2 Ange nummer 2: 5.6 Ange nummer 3: 0 Ange nummer 4: -2.4 Ange nummer 5: -3 Sum = 7.8
I exemplet ovan har vi använt for-slingan för att skriva ut summan av 5 positiva tal. Lägg märke till raden,
if (number < 0.0) ( continue; )
Här, när användaren anger ett negativt tal, continue
körs uttalandet. Detta hoppar över den aktuella iterationen av slingan och tar programstyrningen till slingans uppdateringsuttryck.
Obs! För att ta in input från användaren har vi använt Scanner
objektet. Om du vill veta mer besöker du Java Scanner.
Java fortsätter med Nested Loop
När det gäller kapslade slingor i Java continue
hoppar uttalandet över den aktuella iterationen av den innersta slingan.
Exempel 3: fortsätt med Nested Loop
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++; ) ) )
Produktion
Yttre ögla: 1 inre ögla: 1 inre ögla: 3 yttre ögla: 2 yttre ögla: 3
I exemplet ovan har vi använt den nestade while-slingan. Observera att vi har använt continue
uttalandet inuti den inre slingan.
if(j == 2) ( j++; continue: )
Här, när värdet på j är 2 , ökas värdet på j och continue
uttalandet körs.
Detta hoppar över den inre slingans iteration. Därför hoppas texten Inner Loop: 2 från utdata.
Märkt Fortsätt uttalande
Hittills har vi använt det omärkta continue
uttalandet. Det finns dock en annan form av continue
uttalande i Java som kallas märkt fortsätt .
Den innehåller etikett för slingan tillsammans med continue
nyckelordet. Till exempel,
continue label;
Här continue
hoppar uttalandet över den aktuella iterationen av slingan som anges av etiketten.
Vi kan se att etikettidentifieraren anger den yttre slingan. Observera användningen av fortsättningen inuti den inre slingan.
Här continue
hoppar uttalandet över den aktuella iterationen av det märkta uttalandet (dvs. yttre slinga). Sedan går programstyrningen till nästa iteration av det märkta uttalandet.
Exempel 4: märkt Fortsätt uttalande
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); ) ) ) )
Utgång :
i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1
I exemplet ovan används labeled continue
uttalandet för att hoppa över den aktuella iterationen av slingan som är märkt som först.
if (i==3 || j==2) continue first;
Här kan vi se att den yttersta for
slingan är märkt som första,
first: for (int i = 1; i < 6; ++i) (… )
Därför for
hoppas iteration av den yttre slingan om värdet i är 3 eller värdet j är 2.
Obs! Användningen av märkt continue
avråds ofta eftersom det gör din kod svår att förstå. Om du befinner dig i en situation där du måste använda märkt continue
, omformulera din kod och försök att lösa den på ett annat sätt för att göra den mer läsbar.