Loop Bersarang di Java (Dengan Contoh)

Dalam tutorial ini, kita akan belajar tentang loop bersarang di Java dengan bantuan contoh.

Jika ada loop di dalam tubuh loop lain, ini disebut loop bersarang. Berikut adalah contoh forloop bersarang .

 // outer loop for (int i = 1; i <= 5; ++i) ( // codes // inner loop for(int j = 1; j <=2; ++j) ( // codes )… )

Di sini, kami menggunakan forloop di dalam forloop lain .

Kita dapat menggunakan loop bersarang untuk mengulang setiap hari dalam seminggu selama 3 minggu.

Dalam hal ini, kita dapat membuat loop untuk melakukan iterasi tiga kali (3 minggu). Dan, di dalam loop, kita dapat membuat loop lain untuk mengulang 7 kali (7 hari).

Contoh 1: Java Nested for Loop

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

Keluaran

Minggu: 1 Hari: 1 Hari: 2 Hari: 3…. Minggu: 2 Hari: 1 Hari: 2 Hari: 3….….

Dalam contoh di atas, loop luar melakukan iterasi 3 kali dan dicetak 3 minggu. Dan, loop dalam melakukan iterasi 7 kali dan mencetak 7 hari.

Kita juga dapat membuat loop bersarang dengan while dan do… dengan cara yang serupa.

Catatan : Dimungkinkan untuk menggunakan satu jenis loop di dalam tubuh loop lain. Misalnya, kita dapat menempatkan satu forperulangan di dalam whileperulangan.

Contoh 2: Java for loop di dalam while loop

 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 bahwa keluaran dari Contoh 1 dan Contoh 2 adalah sama.

Contoh 3: Loop bertingkat Java untuk membuat pola

Kita bisa menggunakan loop bersarang di Java untuk membuat pola seperti piramida penuh, setengah piramida, piramida terbalik, dan sebagainya.

Berikut adalah program untuk membuat pola setengah piramida menggunakan loop 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(""); ) ) )

Keluaran

 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

Untuk mempelajari lebih lanjut, kunjungi program Java untuk mencetak piramida dan pola.

istirahat dan lanjutkan di dalam Nested Loops

Ketika kita menggunakan breakpernyataan di dalam loop dalam, itu mengakhiri loop dalam tetapi bukan loop 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); ) ) ) )

Keluaran

Minggu: 1 Hari: 1 Hari: 2…. Minggu: 2 Minggu: 3 Hari: 1 Hari: 2….….

Dalam contoh di atas, kami telah menggunakan pernyataan break di dalam forloop dalam . Di sini, program melewatkan loop saat i bernilai 2 .

Karenanya, hari untuk minggu ke-2 tidak dicetak. Namun, loop luar yang mencetak minggu tidak terpengaruh.

Demikian pula, ketika kita menggunakan continuepernyataan di dalam loop dalam, itu melewatkan iterasi saat ini dari loop dalam saja. Loop luar tidak terpengaruh. 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); ) ) ) )

Keluaran

 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 pernyataan lanjutkan di dalam loop for bagian dalam. Perhatikan kodenya,

 if(j % 2 != 0) ( continue; )

Di sini, continuepernyataan dieksekusi ketika nilai j ganjil. Karenanya, program hanya mencetak hari-hari yang genap.

Kita dapat melihat continuepernyataan tersebut hanya mempengaruhi loop dalam. Loop luar berfungsi tanpa masalah.

Artikel yang menarik...