Š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 for
kilpos pavyzdys .
// outer loop for (int i = 1; i <= 5; ++i) ( // codes // inner loop for(int j = 1; j <=2; ++j) ( // codes )… )
Čia mes naudojame for
kilpą kitos for
kilpos 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 for
kilpą į 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 break
teiginį 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 for
kilpos 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 continue
teiginį 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 continue
sakinys vykdomas, kai j reikšmė nelyginė. Taigi programa spausdina tik tas dienas, kurios yra lygios.
Matome, kad continue
teiginys paveikė tik vidinę kilpą. Išorinė kilpa veikia be jokių problemų.