Rumah >Java >javaTutorial >Gelung Bersarang di Jawa
Gelung yang terdiri daripada gelung lain di dalamnya sebagai struktur seperti sarang dibina dan gelung luar memantau bilangan pelaksanaan gelung dalam, gelung yang berfungsi dalam struktur sedemikian yang dikenali sebagai gelung bersarang. Ia juga dikenali sebagai gelung di dalam gelung.
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokBerikut ialah sintaks yang berbeza:
1. Bersarang Untuk gelung
for(initialize;cond1;increment/decrement) { for(initialize;cond2;increment/decrement) { //body of loop2 } //body of loop1 }
2. Gelung Semasa Bersarang
while(cond1) { while(cond2) { // body of loop2 } //body of loop1 }
3. Gelung Do-while bersarang
do{ do{ //body of loop 2 }while(cond2) //body of loop 1 }while(cond1
4. Gelung heterogen bersarang
Persarang gelung tidak mempunyai had bahawa hanya jenis gelung yang serupa boleh disarang. Kita boleh menyarangkan mana-mana gelung di dalam mana-mana gelung lain, seperti semasa di dalam untuk gelung atau gelung sambil di dalam gelung do-while dan semua kemungkinan kombinasi lain semuanya berkenaan.
for(initialize;cond1;increment/decrement) { while(cond2){ //body of loop2 } // body of loop1 }
Penjelasan:
Dalam carta alir di atas, pertama, apabila kita memasuki badan program, pernyataan seperti penyata permulaan atau cetakan akan dilaksanakan. Sebaik sahaja gelung ditemui, program menyemak keadaan untuk gelung luar; jika ia kembali benar, ia memasuki gelung; jika tidak, gelung ditamatkan dan penyataan selepas gelung selebihnya akan dilaksanakan.
Sebaik sahaja ia memasuki gelung luar dan menemui gelung dalam, pembolehubah dimulakan jika ada, diikuti dengan menyemak syarat untuk gelung dalam jika ia mengembalikan atur cara yang benar masuk ke dalam gelung dalam; jika tidak, kembali ke penghujung Loop1 dan lakukan kenaikan/pengurangan untuk melaksanakan Loop1 sekali lagi.
Sekiranya cond2 kembali benar, pernyataan Loop2 akan dilaksanakan dan pemboleh ubah pembilang akan dinaikkan/dikurangkan. Prosedur ini diulang beberapa kali, dan kemudian program keluar dari Gelung2, kemudian Gelung1 dan beralih ke pernyataan yang hadir selepas gelung.
Setiap gelung mengandungi 3 perkara di bawahnya:
Dalam kes gelung bersarang, tiga langkah di atas disemak untuk setiap gelung di dalamnya. Oleh itu dengan setiap aliran gelung luar, gelung dalam dilaksanakan sepenuhnya, yang bermaksud jika kita mempunyai aliran m untuk gelung luar dan bilangan aliran untuk gelung luar, maka gelung ini bersama-sama akan dilaksanakan m*n kali.
Nota: Tiada had pada bilangan gelung yang boleh bersarang serta jenis gelung yang boleh bersarang, seseorang boleh menggunakan apa-apa jenis gelung, tetapi seseorang mesti berhati-hati kerana ia mempengaruhi kerumitan masa program dan dengan itu menjejaskan prestasi.Sebagai Contoh:
for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ System.out.println(“LOOP DEMO”); } }
Dalam kes gelung bersarang yang diberikan di atas:
Gelung Luar
Counter variable = i Condition – i<5 Increment/decrement – i++
Gelung Dalaman
Counter variable = j Condition – j<5 Increment/decrement – j++
Diberikan di bawah adalah contoh Gelung Bersarang dalam Java:
Mari kita tulis atur cara untuk mencetak corak di bawah:
*
**
***
****
*****
Kod:package Try; class Demo { //static method public static void main(String[] args) { for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ if(i>=j) { System.<em>out</em>.print('*');} } System.<em>out</em>.println("\n"); } } }Output: Penjelasan:
Dalam atur cara di atas, 2 gelung dalam digunakan kerana corak yang perlu dicetak boleh diambil serupa dengan tatasusunan 2d dengan ‘*’ sebagai elemennya dengan 5 baris dan 5 lajur.
Selain itu, keadaan if(i<=j) boleh dikira menggunakan lokasi * yang terdapat dalam tatasusunan 2d di mana pembilang untuk baris ialah I dan untuk lajur kami menggunakan j.
I=1 | I=2 | I=3 | I=4 | I=5 | |
J=1 | * | ||||
J=2 | * | * | |||
J=3 | * | * | * | ||
J=4 | * | * | * | * | |
J=5 | * | * | * | * | * |
We can easily configure that we need to print * only when i Let’s see the example to print a 2D matrix. Code: Output: Explanation: Nested loop refers to the placement of loop inside the loop to execute the operations that need multiple loop traversals such as printing star patterns or search operations on any collection data structure array or linked list. Although it helps to make our task easier, it also increases the complexity of the program thus must be used in an efficient manner. Atas ialah kandungan terperinci Gelung Bersarang di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!Example #2
package Try;
class Demo
{
public static void printMatrix(int arr[][][]){
int i=0,j=0;
while(i<arr.length){
while(j<arr[i].length){
for (int k = 0; k <arr[j].length; k++)
System.out.println("arr[" + i + "][" + j + "]["+ k + "] = "+arr[i][j][k] );
j++;
}
i++;
j=0;
}
}
public static void main(String[] args)
{
int arr[][][] ={ { { 10, 2 }, { 30, 4 } }, { { 51, 6 }, { 79, 8 } } };
printMatrix(arr);
}
}
In the above program, we have used 3 loops to print the elements stored in a 3D Matrix using 3 counter variables. Thus, any number of loops can be tested as well as any type of loop can be used.Conclusion