Ligzdota cilpa Java (ar piemēriem)

Šajā apmācībā mēs uzzināsim par Java ligzdotajām cilpām, izmantojot piemērus.

Ja cilpa pastāv citas cilpas korpusā, to sauc par ligzdotu cilpu. Šis ir ligzdotās forcilpas piemērs .

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

Lūk, mēs izmantojam forcilpu citas forcilpas iekšpusē .

Mēs varam izmantot ligzdoto cilpu, lai atkārtotu visas nedēļas dienas 3 nedēļas.

Šajā gadījumā mēs varam izveidot cilpu, lai atkārtotu trīs reizes (3 nedēļas). Cilpas iekšpusē mēs varam izveidot vēl vienu cilpu, lai atkārtotu 7 reizes (7 dienas).

1. piemērs: Java ir ligzdota lokam

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

Rezultāts

Nedēļa: 1 diena: 1 diena: 2 diena: 3…. Nedēļa: 2 Diena: 1 Diena: 2 Diena: 3….….

Iepriekš minētajā piemērā ārējā cilpa atkārtojas 3 reizes un izdrukā 3 nedēļas. Iekšējā cilpa atkārtojas 7 reizes un izdrukā 7 dienas.

Mēs varam arī izveidot ligzdotas cilpas ar while un do… kamēr līdzīgi.

Piezīme : Ir iespējams izmantot viena veida cilpas citas cilpas korpusā. Piemēram, mēs varam ievietot forcilpu cilpas iekšpusē while.

2. piemērs: Java cilpai kamēr cilpa

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

Izeja :

Nedēļa: 1 diena: 1 diena: 2 diena: 3…. Nedēļa: 2 Diena: 1 Diena: 2 Diena: 3….….

Šeit jūs varat redzēt, ka gan 1., gan 2. piemēra rezultāts ir vienāds.

3. piemērs: Java izveidoja cilpas, lai izveidotu modeli

Mēs varam izmantot Java ligzdoto cilpu, lai izveidotu tādus modeļus kā pilna piramīda, puse piramīdas, apgriezta piramīda utt.

Šeit ir programma, lai izveidotu pusi piramīdas modeli, izmantojot ligzdotas cilpas.

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

Rezultāts

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

Lai uzzinātu vairāk, apmeklējiet Java programmu, lai izdrukātu piramīdu un modeļus.

pārtrauciet un turpiniet Inside Nested Loops

Kad mēs izmantojam breakpaziņojumu iekšējās cilpas iekšpusē, tas pārtrauc iekšējo cilpu, bet ne ārējo cilpu. Piemēram,

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

Rezultāts

Nedēļa: 1 diena: 1 diena: 2…. Nedēļa: 2 Nedēļa: 3 Diena: 1 Diena: 2….….

Iepriekš minētajā piemērā mēs esam izmantojuši pārtraukuma paziņojumu iekšējās forcilpas iekšpusē . Lūk, programma izlaiž cilpu, kad i ir 2 .

Tādējādi 2. nedēļas dienas netiek drukātas. Tomēr ārējā cilpa, kas izdrukā nedēļu, netiek ietekmēta.

Līdzīgi, kad mēs izmantojam continuepaziņojumu iekšējās cilpas iekšpusē, tas izlaiž tikai iekšējās cilpas pašreizējo atkārtojumu. Ārējā cilpa netiek ietekmēta. Piemēram,

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

Rezultāts

 Nedēļa: 1 dienas: 2 dienas: 4 dienas: 6 nedēļa: 2 dienas: 2 dienas: 4 dienas: 6 nedēļas: 3 dienas: 2 dienas: 4 dienas: 6

Iepriekš minētajā piemērā mēs esam izmantojuši turpinājuma paziņojumu iekšējā cilpa iekšpusē. Ievērojiet kodu,

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

Šeit continuepaziņojums tiek izpildīts, kad j vērtība ir nepāra. Tādējādi programma drukā tikai tās dienas, kas ir vienmērīgas.

Mēs varam redzēt, ka continueapgalvojums ir ietekmējis tikai iekšējo cilpu. Ārējā cilpa darbojas bez problēmām.

Interesanti raksti...