Nestet løkke i Java (med eksempler)

I denne opplæringen vil vi lære om nestede sløyfer i Java ved hjelp av eksempler.

Hvis det finnes en sløyfe i kroppen til en annen sløyfe, kalles den en nestet sløyfe. Her er et eksempel på den nestede forsløyfen.

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

Her bruker vi en forsløyfe i en annen forsløyfe.

Vi kan bruke den nestede sløyfen til å gjenta hver dag i en uke i 3 uker.

I dette tilfellet kan vi lage en løkke for å gjenta tre ganger (3 uker). Og inne i sløyfen kan vi opprette en ny sløyfe som gjentas 7 ganger (7 dager).

Eksempel 1: Java nestet for 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); ) ) ) )

Produksjon

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

I eksemplet ovenfor gjentar den ytre sløyfen tre ganger og skriver ut 3 uker. Og den indre sløyfen itererer 7 ganger og skriver ut de 7 dagene.

Vi kan også lage nestede løkker med mens og gjør… mens på en lignende måte.

Merk : Det er mulig å bruke en type sløyfe inne i kroppen til en annen sløyfe. For eksempel kan vi sette en forløkke inne i whileløkken.

Eksempel 2: Java for loop inne 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; ) ) )

Utgang :

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

Her kan du se at utgangen fra både eksempel 1 og eksempel 2 er den samme.

Eksempel 3: Java nestede løkker for å lage et mønster

Vi kan bruke den nestede sløyfen i Java til å lage mønstre som full pyramide, halv pyramide, invertert pyramide og så videre.

Her er et program for å lage et halvpyramidemønster ved hjelp av nestede løkker.

 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(""); ) ) )

Produksjon

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

For å lære mer, besøk Java-programmet for å skrive ut pyramide og mønstre.

bryt og fortsett Inside Nested Loops

Når vi bruker en breakuttalelse inne i den indre sløyfen, avslutter den den indre sløyfen, men ikke den ytre sløyfen. 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); ) ) ) )

Produksjon

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

I eksemplet ovenfor har vi brukt brudduttalelsen inne i den indre forsløyfen. Her hopper programmet over løkken når jeg er 2 .

Derfor blir ikke dager for uke 2 skrevet ut. Den ytre sløyfen som skriver ut uke er imidlertid upåvirket.

Tilsvarende, når vi bruker en continueuttalelse i den indre sløyfen, hopper den bare over gjeldende iterasjon av den indre sløyfen. Den ytre sløyfen 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); ) ) ) )

Produksjon

 Uke: 1 Dager: 2 Dager: 4 Dager: 6 Uke: 2 Dager: 2 Dager: 4 Dager: 6 Uke: 3 Dager: 2 Dager: 4 Dager: 6

I eksemplet ovenfor har vi brukt fortsettelsesuttalelsen inne i indre for loop. Legg merke til koden,

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

Her blir continueutsagnet utført når verdien av j er merkelig. Derfor skriver programmet bare ut de dagene som er jevne.

Vi kan se at continueuttalelsen bare har påvirket den indre sløyfen. Den ytre sløyfen fungerer uten problemer.

Interessante artikler...