Įdėta „Java“ kilpa (su pavyzdžiais)

Šioje pamokoje pavyzdžių pagalba sužinosime apie „Java“ įdėtas kilpas.

Jei kilpa egzistuoja kitos kilpos kūne, ji vadinama įdėta kilpa. Štai įdėtos forkilpos pavyzdys .

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

Čia mes naudojame forkilpą kitos forkilpos viduje .

Mes galime naudoti įdėtą kilpą, norėdami kartoti kiekvieną savaitės dieną 3 savaites.

Tokiu atveju galime sukurti kartotinį kartojimą tris kartus (3 savaites). Kilpos viduje mes galime sukurti dar vieną kilpą, kad pakartotume 7 kartus (7 dienas).

1 pavyzdys: „Java“ įdėta „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); ) ) ) )

Rezultatas

Savaitė: 1 diena: 1 diena: 2 diena: 3…. Savaitė: 2 diena: 1 diena: 2 diena: 3….….

Ankstesniame pavyzdyje išorinė kilpa kartojasi 3 kartus ir spausdina 3 savaites. Vidinė kilpa kartojasi 7 kartus ir spausdina 7 dienas.

Mes taip pat galime sukurti įdėtas kilpas su while ir do… būdami panašiai.

Pastaba : galima naudoti vieno tipo kilpas kitos kilpos kūne. Pavyzdžiui, mes galime įdėti forkilpą į kilpos vidų while.

2 pavyzdys: „Java“ kilpai „while“ ciklo viduje

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

Išvestis :

Savaitė: 1 diena: 1 diena: 2 diena: 3…. Savaitė: 2 diena: 1 diena: 2 diena: 3….….

Čia galite pamatyti, kad tiek produkcijos 1 pavyzdys ir 2 pavyzdys yra tas pats.

3 pavyzdys: „Java“ įdėtos kilpos, kad būtų sukurtas modelis

Mes galime naudoti įdėtą „Java“ kilpą, kad sukurtume tokius modelius kaip visa piramidė, pusė piramidės, apversta piramidė ir kt.

Čia yra programa, sukurianti pusės piramidės modelį naudojant įdėtas kilpas.

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

Rezultatas

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

Norėdami sužinoti daugiau, apsilankykite „Java“ programoje ir atsispausdinkite piramidę bei raštus.

pertrauka ir tęskite vidines įdėtas kilpas

Kai mes naudojame breakteiginį vidinės kilpos viduje, jis nutraukia vidinę kilpą, bet ne išorinę. Pavyzdžiui,

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

Rezultatas

Savaitė: 1 diena: 1 diena: 2…. Savaitė: 2 Savaitė: 3 Diena: 1 Diena: 2….….

Pirmiau pateiktame pavyzdyje mes naudojome lūžio teiginį vidinės forkilpos viduje . Čia programa praleidžia ciklą, kai i yra 2 .

Taigi 2 savaitės dienos nėra spausdinamos. Tačiau išorinė kilpa, kuri spausdina savaitę, neturi įtakos.

Panašiai, kai mes naudojame continueteiginį vidinės kilpos viduje, jis praleidžia tik dabartinę vidinės kilpos iteraciją. Išorinė kilpa neturi įtakos. Pavyzdžiui,

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

Rezultatas

 Savaitė: 1 dienos: 2 dienos: 4 dienos: 6 savaitė: 2 dienos: 2 dienos: 4 dienos: 6 savaitė: 3 dienos: 2 dienos: 4 dienos: 6

Ankstesniame pavyzdyje mes naudojome tęsinio teiginį vidinio ciklo viduje. Atkreipkite dėmesį į kodą,

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

Čia continuesakinys vykdomas, kai j reikšmė nelyginė. Taigi programa spausdina tik tas dienas, kurios yra lygios.

Matome, kad continueteiginys paveikė tik vidinę kilpą. Išorinė kilpa veikia be jokių problemų.

Įdomios straipsniai...