CodeGym /Blog Java /rawak /Gelung Bersarang Java
John Squirrels
Tahap
San Francisco

Gelung Bersarang Java

Diterbitkan dalam kumpulan
Java, seperti kebanyakan bahasa pengaturcaraan lain, menyokong gelung bersarang. Ini bermakna hanya gelung dalam gelung. Dalam artikel ini, kita akan mengetahui tentang cara bekerja dengan gelung bersarang di Jawa.

Gelung bersarang Java

Gelung dipanggil bersarang jika ia diletakkan di dalam gelung lain. Pada laluan pertama, gelung luar memanggil gelung dalam, yang berjalan hingga selesai, selepas itu kawalan dipindahkan ke badan gelung luar. Pada pas kedua, gelung luar memanggil yang dalam sekali lagi. Dan seterusnya sehingga gelung luar berakhir. Terdapat empat jenis gelung dalam Java:
  • untuk gelung

  • gelung semasa

  • lakukan...while loop

  • untuk-setiap gelung

Kesemuanya menyokong gelung bersarang. Pembinaan gelung bersarang digunakan apabila dua syarat mesti dipenuhi, satu bergantung pada yang lain. Contohnya, jika anda perlu memaparkan matriks dua dimensi, separa piramid atau jadual pendaraban.

Cara gelung bersarang Java berfungsi

Mungkin gelung yang paling banyak digunakan dalam Java adalah untuk , sebahagian besarnya kerana ia agak serba boleh dan kod dengannya agak mudah dibaca. Berikut ialah sintaks umum untuk gelung bersarang:

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

  //nested loop
  for(initialization; condition; increment) {
    //write here your code
  }
..
}
Bagaimana dia bekerja? Gelung luar bermula. Kemudian gelung bersarang untuk memulakan kerja dan melalui indeksnya sehingga syarat dipenuhi, dan sekali lagi menghantar kerja ke gelung luar, dan ini berlaku sehingga keadaan gelung luar dipenuhi. Kedengarannya agak rumit, bukan? Nah, Ia akan menjadi lebih mudah untuk difahami dengan contoh khusus, jadi mari kita teruskan kepadanya.

Contoh kod gelung bersarang

Berikut adalah satu contoh klasik. Mari kita cetak separuh piramid menggunakan dua untuk gelung. Salah satunya bersarang.

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();
       }
      
   }
}
Outputnya ialah:
* ** *** **** ***** ****** ******* ******** ********* ***** *****

Contoh kod gelung bersarang semasa


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

       }
   }
}
Output adalah sama seperti dalam contoh sebelumnya:
* ** *** **** ***** ****** ******* ******** ********* ***** *****
Gelung do...while adalah serupa dengan gelung while . Perbezaan utama ialah, badan do...while loop dilaksanakan sekali sebelum penyemakan ungkapan.

Contoh kod gelung foreach bersarang

untuk-setiap gelung boleh bersarang seperti biasa untuk gelung. Berikut ialah contoh untuk gelung bersarang untuk setiap gelung yang melelaran tatasusunan 2 dimensi.

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("");
           }
       }
}
Outputnya ialah:
5 4 3 2 1 7 8 9 10 11

Contoh gelung bercampur untuk dan sambil

Kadang-kadang kita boleh menyusun pelbagai jenis gelung di dalam satu sama lain. Sebagai contoh, untuk dalam sementara atau untuk dalam untuk-setiap . Walau bagaimanapun, ia bukan amalan pengaturcaraan terbaik. Binaan sedemikian menjejaskan kebolehbacaan kod dengan ketara. Jadi pengaturcara profesional cuba untuk tidak mencampurkan satu dengan yang lain. Ya, mereka lakukan, tetapi hanya jika ia benar-benar diperlukan. Dan satu lagi peraturan kecil: jika anda memilih antara while dan for , gunakan untuk mana mungkin. Walau bagaimanapun, di sini kita akan mempunyai contoh menggunakan gelung for di dalam while . Mari bina separuh piramid kita semula.

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

       }
   }
}
Outputnya tanpa kejutan:
* ** *** **** ***** ****** ******* ******** ********* ***** *****
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION