Rumah > Java > javaTutorial > teks badan

Gelung Bersarang di Jawa

WBOY
Lepaskan: 2024-08-30 15:25:34
asal
443 orang telah melayarinya

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-olok

Sintaks Gelung Bersarang dalam Java

Berikut ialah sintaks yang berbeza:

1. Bersarang Untuk gelung

for(initialize;cond1;increment/decrement)
{
for(initialize;cond2;increment/decrement)
{
//body of loop2
}
//body of loop1
}
Salin selepas log masuk

2. Gelung Semasa Bersarang

while(cond1)
{
while(cond2)
{
// body of loop2
}
//body of loop1
}
Salin selepas log masuk

3. Gelung Do-while bersarang

do{
do{
//body of loop 2
}while(cond2)
//body of loop 1
}while(cond1
Salin selepas log masuk

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
}
Salin selepas log masuk

Carta Aliran

Gelung Bersarang di Jawa

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.

Bagaimana Nested Loop berfungsi dalam Java?

Setiap gelung mengandungi 3 perkara di bawahnya:

  1. Permulaan: Langkah ini merujuk kepada pemulaan nilai pembilang.
  2. Syarat: Syarat ini merujuk kepada perbandingan yang perlu benar untuk meneruskan pelaksanaan gelung.
  3. Peningkatan/Penurunan pembilang: Ini merujuk kepada operasi yang akan dilakukan pada pembilang sebaik sahaja satu aliran gelung tamat.

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”);
}
}
Salin selepas log masuk

Dalam kes gelung bersarang yang diberikan di atas:

Gelung Luar

Counter variable = i
Condition – i<5
Increment/decrement – i++
Salin selepas log masuk

Gelung Dalaman

Counter variable = j
Condition – j<5
Increment/decrement – j++
Salin selepas log masuk

Contoh Gelung Bersarang dalam Java

Diberikan di bawah adalah contoh Gelung Bersarang dalam Java:

Contoh #1

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");
}
}
}
Salin selepas log masuk
Output: Gelung Bersarang di Jawa 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

Example #2

Let’s see the example to print a 2D matrix.

Code:

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);
}
}
Salin selepas log masuk

Output:

Gelung Bersarang di Jawa

Explanation:
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

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!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!