CodeGym /Java Blog /Random /Java Nested Loops
John Squirrels
Antas
San Francisco

Java Nested Loops

Nai-publish sa grupo
Ang Java, tulad ng karamihan sa iba pang mga programming language, ay sumusuporta sa mga nested loop. Nangangahulugan ito ng isang loop lamang sa loob ng isang loop. Sa artikulong ito, malalaman natin ang tungkol sa kung paano magtrabaho sa mga nested loop sa Java.

Java nested loops

Ang isang loop ay tinatawag na nested kung ito ay inilagay sa loob ng isa pang loop. Sa unang pass, ang panlabas na loop ay tumatawag sa panloob na loop, na tumatakbo hanggang sa pagkumpleto, pagkatapos kung saan ang kontrol ay inilipat sa katawan ng panlabas na loop. Sa pangalawang pass, ang panlabas na loop ay tumatawag muli sa panloob. At iba pa hanggang sa matapos ang panlabas na loop. Mayroong apat na uri ng mga loop sa Java:
  • para sa loop

  • habang umiikot

  • gawin...habang umikot

  • para sa-bawat loop

Lahat sila ay sumusuporta sa mga nested na loop. Ang mga nested-loop construct ay ginagamit kapag ang dalawang kundisyon ay dapat matugunan, ang isa ay depende sa isa. Halimbawa, kung kailangan mong magpakita ng two-dimensional matrix, semi-pyramid o multiplication table.

Paano gumagana ang Java nested loops

Marahil ang pinaka ginagamit na loop sa Java ay para sa , sa malaking bahagi dahil ito ay lubos na maraming nalalaman at ang code na kasama nito ay medyo madaling basahin. Narito ang pangkalahatang syntax para sa nested for loop:

// outer loop
for (initialization; condition; increment) {
  //write here your code 

  //nested loop
  for(initialization; condition; increment) {
    //write here your code
  }
..
}
Paano siya nagtatrabaho? Magsisimula ang panlabas na loop. Pagkatapos ang nested for loop ay magsisimula sa trabaho at dumaan sa index nito hanggang sa matugunan ang kondisyon, at muling ipasa ang trabaho sa panlabas na loop, at ito ay nangyayari hanggang sa ang kondisyon ng panlabas na loop ay matugunan. Mukhang medyo nakakalito, hindi ba? Well, Ito ay magiging mas madaling maunawaan sa isang tiyak na halimbawa, kaya magpatuloy tayo dito.

Nested para sa halimbawa ng loop code

Narito ang isang klasikong halimbawa. Mag-print tayo ng kalahating pyramid gamit ang dalawa para sa mga loop. Ang isa sa kanila ay nakapugad.

public class NestedLoopsDemo1 {

   public static void main(String[] args) {

       for (int i = 0; i < 10; i++) {
           for (int j = 0; j<=i;  j++)
               System.out.print("*");
           System.out.println();
       }
      
   }
}
Ang output ay:
* ** *** **** ***** ****** ******* ******** ********* ***** *****

Halimbawa ng nested while loop code


public class NestedLoopsDemo2 {

   public static void main(String[] args) {

       int i = 0;
       while (i < 10) {
           int j = 0;
           while (j <= i) {
               System.out.print("*");
               j++;
           }
           System.out.println();
           i++;

       }
   }
}
Ang output ay pareho lamang sa nakaraang halimbawa:
* ** *** **** ***** ****** ******* ******** ********* ***** *****
Ang do...while loop ay katulad ng while loop. Ang pangunahing pagkakaiba ay, na ang katawan ng do...while loop ay pinaandar nang isang beses bago ang expression checking.

Halimbawa ng nested foreach loops code

para sa-bawat loop ay maaaring nested tulad ng dati para sa loop. Narito ang halimbawa para sa nested para sa bawat loop na umuulit ng 2-dimensional na array.

public class NestedLoops2 {

       public static void main(String[] args)
       {
           int[][] mainArray = { {5, 4, 3, 2, 1}, {7, 8, 9, 10, 11} };

           for (int[] myArray : mainArray)
           {
               for (int i : myArray)
               {
                   System.out.print(i+" ");
               }
               System.out.println("");
           }
       }
}
Ang output ay:
5 4 3 2 1 7 8 9 10 11

Mixed para sa at while loop halimbawa

Minsan maaari tayong maglagay ng iba't ibang uri ng mga loop sa loob ng bawat isa. Halimbawa, para sa loob habang o para sa loob para sa-bawat . Gayunpaman, hindi ito ang pinakamahusay na kasanayan sa programming. Ang ganitong mga konstruksyon ay makabuluhang nakapipinsala sa pagiging madaling mabasa ng code. Kaya sinubukan ng mga propesyonal na programmer na huwag paghaluin ang isa sa isa. Well, ginagawa nila, ngunit kung ito ay talagang kinakailangan. At isa pang maliit na panuntunan: kung pipili ka sa pagitan ng habang at para sa , gamitin para sa kung saan posible. Gayunpaman, narito tayo ay magkakaroon ng isang halimbawa ng paggamit ng isang para sa loop sa loob ng habang . Buuin natin muli ang ating semi-pyramid.

public class NestedLoopsDemo2 {

   public static void main(String[] args) {
       int i = 0;
       while (i < 10) {
           for (int j = 0; j <= i; j++) {
               System.out.print("*");
           }
           System.out.println();
           i++;

       }
   }
}
Ang output ay walang mga sorpresa:
* ** *** **** ***** ****** ******* ******** ********* ***** *****
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION