Vnorená slučka v Jave (s príkladmi)

V tomto tutoriále sa pomocou príkladov dozvieme o vnorených slučkách v Jave.

Ak slučka existuje v tele inej slučky, nazýva sa to vnorená slučka. Tu je príklad vnorenej forslučky.

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

Tu používame forslučku vo vnútri inej forslučky.

Vnorenú slučku môžeme použiť na iteráciu cez každý deň v týždni po dobu 3 týždňov.

V takom prípade môžeme vytvoriť slučku na iteráciu trikrát (3 týždne). A vo vnútri slučky môžeme vytvoriť ďalšiu slučku na opakovanie 7-krát (7 dní).

Príklad 1: Java vnorená pre slučku

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

Výkon

Týždeň: 1 deň: 1 deň: 2 deň: 3…. Týždeň: 2 deň: 1 deň: 2 deň: 3….….

Vo vyššie uvedenom príklade vonkajšia slučka trikrát iteruje a tlačí 3 týždne. A vnútorná slučka iteruje 7 krát a vytlačí sa 7 dní.

Môžeme tiež vytvárať vnorené slučky s while a robiť … while podobným spôsobom.

Poznámka : Jeden typ slučky je možné použiť vo vnútri tela inej slučky. Napríklad môžeme vložiť forslučku dovnútra whileslučky.

Príklad 2: Java for loop vo vnútri while cyklu

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

Výstup :

Týždeň: 1 deň: 1 deň: 2 deň: 3…. Týždeň: 2 deň: 1 deň: 2 deň: 3….….

Tu vidíte, že výstup príkladu 1 aj príkladu 2 je rovnaký.

Príklad 3: Vnorené slučky Java na vytvorenie vzoru

Vnorenú slučku v Jave môžeme použiť na vytvorenie vzorov, ako je plná pyramída, polovičná pyramída, obrátená pyramída atď.

Tu je program na vytvorenie vzoru polovičnej pyramídy pomocou vnorených slučiek.

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

Výkon

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

Ak sa chcete dozvedieť viac, navštívte program Java a vytlačte pyramídu a vzory.

zlomiť a pokračovať vo vnútri vnorených slučiek

Keď použijeme breakpríkaz vo vnútri vnútornej slučky, ukončí sa vnútorná slučka, ale nie vonkajšia slučka. Napríklad,

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

Výkon

Týždeň: 1 deň: 1 deň: 2…. Týždeň: 2 Týždeň: 3 Deň: 1 Deň: 2….….

Vo vyššie uvedenom príklade sme použili príkaz break vo vnútornej forslučke. Tu program preskočí slučku, keď je i 2 .

Dni v 2. týždni sa preto nevypisujú. Vonkajšia slučka, ktorá tlačí týždeň, to však neovplyvní.

Podobne, keď použijeme continuepríkaz vo vnútri vnútornej slučky, preskočí iba aktuálnu iteráciu vnútornej slučky. Vonkajšia slučka nie je ovplyvnená. Napríklad,

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

Výkon

 Týždeň: 1 deň: 2 dni: 4 dni: 6 týždeň: 2 dni: 2 dni: 4 dni: 6 týždeň: 3 dni: 2 dni: 4 dni: 6

Vo vyššie uvedenom príklade sme použili príkaz continue vo vnútornej slučke for. Všimnite si kód,

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

Tu sa continuepríkaz vykoná, keď je hodnota j nepárna. Preto program vytlačí iba tie dni, ktoré sú párne.

Vidíme, že continuetvrdenie ovplyvnilo iba vnútornú slučku. Vonkajšia slučka funguje bez problémov.

Zaujímavé články...