Nestet sløjfe i Java (med eksempler)

I denne vejledning lærer vi om indlejrede sløjfer i Java ved hjælp af eksempler.

Hvis der findes en sløjfe inde i kroppen af ​​en anden sløjfe, kaldes den en indlejret løkke. Her er et eksempel på den indlejrede forløkke.

 // outer loop for (int i = 1; i <= 5; ++i) ( // codes // inner loop for(int j = 1; j <=2; ++j) ( // codes )… )

Her bruger vi en forsløjfe inde i en anden forsløjfe.

Vi kan bruge den indlejrede løkke til at gentage hver ugedag i 3 uger.

I dette tilfælde kan vi oprette en løkke, der gentages tre gange (3 uger). Og inden i sløjfen kan vi oprette en anden sløjfe til at gentage 7 gange (7 dage).

Eksempel 1: Java indlejret til loop

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; // outer loop prints weeks for (int i = 1; i <= weeks; ++i) ( System.out.println("Week: " + i); // inner loop prints days for (int j = 1; j <= days; ++j) ( System.out.println(" Day: " + j); ) ) ) )

Produktion

Uge: 1 dag: 1 dag: 2 dag: 3…. Uge: 2 Dag: 1 Dag: 2 Dag: 3….….

I ovenstående eksempel gentages den ydre sløjfe 3 gange og udskrives 3 uger. Og den indre sløjfe gentager 7 gange og udskriver de 7 dage.

Vi kan også oprette indlejrede sløjfer med mens og gør … mens det er på en lignende måde.

Bemærk : Det er muligt at bruge en type sløjfe inde i kroppen af ​​en anden sløjfe. For eksempel kan vi sætte en forløkke inde i whileløkken.

Eksempel 2: Java til loop inde i while-loop

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; int i = 1; // outer loop while (i <= weeks) ( System.out.println("Week: " + i); // inner loop for (int j = 1; j <= days; ++j) ( System.out.println(" Days: " + j); ) ++i; ) ) )

Output :

Uge: 1 dag: 1 dag: 2 dag: 3…. Uge: 2 Dag: 1 Dag: 2 Dag: 3….….

Her kan du se, at output fra både eksempel 1 og eksempel 2 er det samme.

Eksempel 3: Java indlejrede sløjfer for at oprette et mønster

Vi kan bruge den indlejrede løkke i Java til at skabe mønstre som fuld pyramide, halv pyramide, omvendt pyramide og så videre.

Her er et program til at oprette et halvt pyramidemønster ved hjælp af indlejrede sløjfer.

 class Main ( public static void main(String() args) ( int rows = 5; // outer loop for (int i = 1; i <= rows; ++i) ( // inner loop to print the numbers for (int j = 1; j <= i; ++j) ( System.out.print(j + " "); ) System.out.println(""); ) ) )

Produktion

 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

For at lære mere, besøg Java-programmet for at udskrive pyramide og mønstre.

bryde og fortsætte Inside Nested Loops

Når vi bruger en breaksætning inde i den indre sløjfe, afslutter den den indre sløjfe, men ikke den ydre sløjfe. For eksempel,

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; // outer loop for(int i = 1; i <= weeks; ++i) ( System.out.println("Week: " + i); // inner loop for(int j = 1; j <= days; ++j) ( // break inside the inner loop if(i == 2) ( break; ) System.out.println(" Days: " + j); ) ) ) )

Produktion

Uge: 1 dag: 1 dag: 2…. Uge: 2 Uge: 3 Dag: 1 Dag: 2….….

I ovenstående eksempel har vi brugt break-sætningen inde i den indre forsløjfe. Her springer programmet over sløjfen, når jeg er 2 .

Derfor er dage for uge 2 ikke udskrevet. Den ydre sløjfe, der udskriver ugen, er imidlertid upåvirket.

På samme måde continuespringer den kun den nuværende iteration af den indre sløjfe , når vi bruger en sætning inde i den indre sløjfe. Den ydre sløjfe er upåvirket. For eksempel,

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; // outer loop for(int i = 1; i <= weeks; ++i) ( System.out.println("Week: " + i); // inner loop for(int j = 1; j <= days; ++j) ( // continue inside the inner loop if(j % 2 != 0) ( continue; ) System.out.println(" Days: " + j); ) ) ) )

Produktion

 Uge: 1 Dage: 2 Dage: 4 Dage: 6 Uge: 2 Dage: 2 Dage: 4 Dage: 6 Uge: 3 Dage: 2 Dage: 4 Dage: 6

I ovenstående eksempel har vi brugt fortsættsætningen inde i det indre for løkke. Bemærk koden,

 if(j % 2 != 0) ( continue; )

Her continueudføres udsagnet, når værdien af ​​j er ulige. Derfor udskriver programmet kun de dage, der er jævne.

Vi kan se, at continueudsagnet kun har påvirket den indre sløjfe. Den ydre løkke fungerer uden problemer.

Interessante artikler...