Bu eğitimde, örnekler yardımıyla Java'daki iç içe döngüler hakkında bilgi edineceğiz.
Başka bir döngünün gövdesi içinde bir döngü varsa, buna iç içe döngü adı verilir. Burada iç içe for
döngüye bir örnek verilmiştir .
// outer loop for (int i = 1; i <= 5; ++i) ( // codes // inner loop for(int j = 1; j <=2; ++j) ( // codes )… )
Burada for
başka bir döngü içinde bir for
döngü kullanıyoruz.
İç içe geçmiş döngüyü, 3 hafta boyunca haftanın her günü yinelemek için kullanabiliriz.
Bu durumda, üç kez (3 hafta) yinelemek için bir döngü oluşturabiliriz. Ve döngünün içinde, 7 kez (7 gün) yinelemek için başka bir döngü oluşturabiliriz.
Örnek 1: Döngü için Yuvalanmış Java
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); ) ) ) )
Çıktı
Hafta: 1 Gün: 1 Gün: 2 Gün: 3…. Hafta: 2 Gün: 1 Gün: 2 Gün: 3….….
Yukarıdaki örnekte, dış döngü 3 kez yinelenir ve 3 hafta yazdırır. Ve iç döngü 7 kez yinelenir ve 7 günü yazdırır.
Ayrıca while ve do ile iç içe döngüler oluşturabiliriz ve benzer şekilde.
Not : Başka bir döngünün gövdesi içinde bir tür döngü kullanmak mümkündür. Örneğin, for
döngünün içine bir döngü koyabiliriz while
.
Örnek 2: while döngüsü içindeki Java for döngüsü
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; ) ) )
Çıktı :
Hafta: 1 Gün: 1 Gün: 2 Gün: 3…. Hafta: 2 Gün: 1 Gün: 2 Gün: 3….….
Burada hem çıkış olduğunu görebilirsiniz Örnek 1 ve Örnek 2'de aynıdır.
Örnek 3: Bir desen oluşturmak için Java iç içe döngüleri
Tam piramit, yarım piramit, ters piramit vb. Gibi desenler oluşturmak için Java'daki iç içe döngüyü kullanabiliriz.
İç içe döngüler kullanarak yarım piramit modeli oluşturmak için bir program.
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(""); ) ) )
Çıktı
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Daha fazla bilgi edinmek için, piramit ve desenleri yazdırmak için Java programını ziyaret edin.
kır ve İç İçe Döngüler İçinde devam et
break
İç döngü içinde bir ifade kullandığımızda , iç döngüyü sonlandırır, ancak dış döngüyü sona erdirmez. Örneğin,
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); ) ) ) )
Çıktı
Hafta: 1 Gün: 1 Gün: 2…. Hafta: 2 Hafta: 3 Gün: 1 Gün: 2….….
Yukarıdaki örnekte, iç for
döngünün içinde break ifadesini kullandık . Burada program i 2 olduğunda döngüyü atlar .
Bu nedenle, 2. hafta için günler yazdırılmaz. Ancak, haftayı yazdıran dış döngü etkilenmez.
Benzer şekilde, continue
iç döngü içinde bir ifade kullandığımızda , yalnızca iç döngünün geçerli yinelemesini atlar. Dış döngü etkilenmez. Örneğin,
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); ) ) ) )
Çıktı
Hafta: 1 Gün: 2 Gün: 4 Gün: 6 Hafta: 2 Gün: 2 Gün: 4 Gün: 6 Hafta: 3 Gün: 2 Gün: 4 Gün: 6
Yukarıdaki örnekte, iç for döngüsünün içinde continue ifadesini kullandık. Koda dikkat edin,
if(j % 2 != 0) ( continue; )
Burada, continue
j'nin değeri tek olduğunda ifade çalıştırılır. Bu nedenle, program yalnızca eşit olan günleri yazdırır.
continue
İfadenin sadece iç döngüyü etkilediğini görebiliriz . Dış döngü sorunsuz çalışıyor.