Dalam tutorial ini, kita akan belajar mengenai gelung bersarang di Java dengan bantuan contoh.
Sekiranya gelung ada di dalam badan gelung lain, ia dipanggil gelung bersarang. Berikut adalah contoh for
gelung bersarang .
// outer loop for (int i = 1; i <= 5; ++i) ( // codes // inner loop for(int j = 1; j <=2; ++j) ( // codes )… )
Di sini, kita menggunakan for
gelung di dalam for
gelung lain .
Kita boleh menggunakan gelung bersarang untuk berulang setiap hari dalam seminggu selama 3 minggu.
Dalam kes ini, kita dapat membuat gelung untuk berulang tiga kali (3 minggu). Dan, di dalam gelung, kita boleh membuat gelung lain untuk berulang sebanyak 7 kali (7 hari).
Contoh 1: Java Bersarang untuk Gelung
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); ) ) ) )
Pengeluaran
Minggu: 1 Hari: 1 Hari: 2 Hari: 3…. Minggu: 2 Hari: 1 Hari: 2 Hari: 3….….
Dalam contoh di atas, gelung luar berulang 3 kali dan dicetak 3 minggu. Dan, gelung dalaman berulang 7 kali dan dicetak selama 7 hari.
Kita juga boleh membuat gelung bersarang dengan sementara dan lakukan … dengan cara yang serupa.
Catatan : Anda boleh menggunakan satu jenis gelung di dalam badan gelung yang lain. Sebagai contoh, kita boleh meletakkan for
gelung di dalam while
gelung.
Contoh 2: Java untuk gelung di dalam gelung sementara
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; ) ) )
Keluaran :
Minggu: 1 Hari: 1 Hari: 2 Hari: 3…. Minggu: 2 Hari: 1 Hari: 2 Hari: 3….….
Di sini anda dapat melihat bahawa output kedua Contoh 1 dan Contoh 2 adalah sama.
Contoh 3: Gelung bersarang Java untuk membuat corak
Kita boleh menggunakan gelung bersarang di Jawa untuk membuat corak seperti piramid penuh, setengah piramid, piramid terbalik, dan sebagainya.
Berikut adalah program untuk membuat corak setengah piramid menggunakan gelung bersarang.
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(""); ) ) )
Pengeluaran
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Untuk mengetahui lebih lanjut, kunjungi program Java untuk mencetak piramid dan corak.
rehat dan teruskan Inside Nested Loops
Apabila kita menggunakan break
pernyataan di dalam gelung dalam, ia mengakhiri gelung dalam tetapi bukan gelung luar. Sebagai contoh,
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); ) ) ) )
Pengeluaran
Minggu: 1 Hari: 1 Hari: 2…. Minggu: 2 Minggu: 3 Hari: 1 Hari: 2….….
Dalam contoh di atas, kami telah menggunakan pernyataan putus di dalam for
gelung dalam . Di sini, program melangkau gelung ketika saya berusia 2 tahun .
Oleh itu, hari untuk minggu 2 tidak dicetak. Walau bagaimanapun, gelung luar yang mencetak minggu tidak terjejas.
Begitu juga, apabila kita menggunakan continue
pernyataan di dalam gelung dalam, ia melangkau lelaran semasa gelung dalam sahaja. Gelung luar tidak terjejas. Sebagai contoh,
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); ) ) ) )
Pengeluaran
Minggu: 1 Hari: 2 Hari: 4 Hari: 6 Minggu: 2 Hari: 2 Hari: 4 Hari: 6 Minggu: 3 Hari: 2 Hari: 4 Hari: 6
Dalam contoh di atas, kami telah menggunakan penyataan terus di dalam untuk gelung. Perhatikan kodnya,
if(j % 2 != 0) ( continue; )
Di sini, continue
penyataan dilaksanakan apabila nilai j adalah ganjil. Oleh itu, program ini hanya mencetak hari-hari yang sama rata.
Kita dapat melihat continue
pernyataan itu hanya mempengaruhi gelung dalaman. Gelung luar berfungsi tanpa masalah.