Java for döngüsü, bir programın bir bölümünü birkaç kez yinelemek için kullanılır. Yineleme sayısı sabit ise for döngüsü kullanılması önerilir.
En temel yapısı ile bir for döngüsü, C/C++ ile aynıdır. Değişkeni başlatabilir, koşulu ve artırma/azaltma değerini kontrol edebiliriz.
Ancak Java’da üç tür for döngüsü vardır.
- Basit for döngüsü
- foreach – gelişmiş for döngüsü
- İşaretli for döngüsü
Bu yazıda for yukarıdaki türe uygun olarak çok sayıda for döngüsü örneği göreceksiniz.
Java Basit for Döngüsü Örnekleri
Örnek : En basit örnekle başlayalım ve ekrana 10 sefer merhaba dünya yazdıralım.
1 2 3 4 5 6 7 8 9 10 11 | class Main { public static void main(String arg[]){ for (int i = 0; i < 10; i++) { System.out.println("Merhaba Dünya"); } } } |
Çıktı:
1 2 3 4 5 6 7 8 9 10 11 12 | Merhaba Dünya Merhaba Dünya Merhaba Dünya Merhaba Dünya Merhaba Dünya Merhaba Dünya Merhaba Dünya Merhaba Dünya Merhaba Dünya Merhaba Dünya |
Örnek 2: 0-100 arasındaki sayıları yazdıran program kodu
1 2 3 4 5 6 7 8 9 10 11 | class Main { public static void main(String arg[]){ for (int i = 0; i <= 100; i++) { System.out.println("Sayı "+i); } } } |
Çıktı:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | Sayı 0 Sayı 1 Sayı 2 Sayı 3 Sayı 4 Sayı 5 Sayı 6 Sayı 7 Sayı 8 Sayı 9 Sayı 10 Sayı 11 Sayı 12 Sayı 13 Sayı 14 Sayı 15 Sayı 16 Sayı 17 Sayı 18 Sayı 19 Sayı 20 Sayı 21 Sayı 22 Sayı 23 Sayı 24 Sayı 25 Sayı 26 Sayı 27 Sayı 28 Sayı 29 Sayı 30 Sayı 31 Sayı 32 Sayı 33 Sayı 34 Sayı 35 Sayı 36 Sayı 37 Sayı 38 Sayı 39 Sayı 40 Sayı 41 Sayı 42 Sayı 43 Sayı 44 Sayı 45 Sayı 46 Sayı 47 Sayı 48 Sayı 49 Sayı 50 Sayı 51 Sayı 52 Sayı 53 Sayı 54 Sayı 55 Sayı 56 Sayı 57 Sayı 58 Sayı 59 Sayı 60 Sayı 61 Sayı 62 Sayı 63 Sayı 64 Sayı 65 Sayı 66 Sayı 67 Sayı 68 Sayı 69 Sayı 70 Sayı 71 Sayı 72 Sayı 73 Sayı 74 Sayı 75 Sayı 76 Sayı 77 Sayı 78 Sayı 79 Sayı 80 Sayı 81 Sayı 82 Sayı 83 Sayı 84 Sayı 85 Sayı 86 Sayı 87 Sayı 88 Sayı 89 Sayı 90 Sayı 91 Sayı 92 Sayı 93 Sayı 94 Sayı 95 Sayı 96 Sayı 97 Sayı 98 Sayı 99 Sayı 100 |
Örnek : 100- 50 arasındaki sayıları yazdıran program
1 2 3 4 5 6 7 8 9 10 11 | class Main { public static void main(String arg[]){ for (int i = 100; i >= 50; i--) { System.out.println("Sayı "+i); } } } |
Çıktı:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | Sayı 100 Sayı 99 Sayı 98 Sayı 97 Sayı 96 Sayı 95 Sayı 94 Sayı 93 Sayı 92 Sayı 91 Sayı 90 Sayı 89 Sayı 88 Sayı 87 Sayı 86 Sayı 85 Sayı 84 Sayı 83 Sayı 82 Sayı 81 Sayı 80 Sayı 79 Sayı 78 Sayı 77 Sayı 76 Sayı 75 Sayı 74 Sayı 73 Sayı 72 Sayı 71 Sayı 70 Sayı 69 Sayı 68 Sayı 67 Sayı 66 Sayı 65 Sayı 64 Sayı 63 Sayı 62 Sayı 61 Sayı 60 Sayı 59 Sayı 58 Sayı 57 Sayı 56 Sayı 55 Sayı 54 Sayı 53 Sayı 52 Sayı 51 Sayı 50 |
Örnek : 1-25 arasındaki çift sayıların 2 katını, tek sayıların 3 katını ekrana yazdıran program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class Main { public static void main(String arg[]){ for (int i = 1; i <=25; i++) { if (i%2 == 0) { System.out.println("Sonuç "+i*2); } else { System.out.println("Sonuç "+i*3); } } } } |
Çıktı:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | Sonuç 3 Sonuç 4 Sonuç 9 Sonuç 8 Sonuç 15 Sonuç 12 Sonuç 21 Sonuç 16 Sonuç 27 Sonuç 20 Sonuç 33 Sonuç 24 Sonuç 39 Sonuç 28 Sonuç 45 Sonuç 32 Sonuç 51 Sonuç 36 Sonuç 57 Sonuç 40 Sonuç 63 Sonuç 44 Sonuç 69 Sonuç 48 Sonuç 75 |
Örnek : 1-50 arasındaki sayılardan 3e, 5e ve 15e bölünenleri ayrı ayrı toplayan program kodunu yazınız.(Not: 15e bölünüyorsa sayı sadece 15e bölünenlere eklenecek)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | class Main { public static void main(String arg[]) { int toplam15 = 0, toplam5 = 0, toplam3 = 0; for (int i = 1; i <= 50; i++) { if (i % 15 == 0) { toplam15 += i; } else if (i % 5 == 0) { toplam5 += i; } else if (i % 3 == 0) { toplam3 += i; } } System.out.println("3e bölünen sayıların toplamı " + toplam3); System.out.println("5e bölünen sayıların toplamı " +toplam5); System.out.println("15e bölünen sayıların toplamı " + toplam15); } } |
Çıktı:
1 2 3 4 5 | 3e bölünen sayıların toplamı 318 5e bölünen sayıların toplamı 185 15e bölünen sayıların toplamı 90 |
Java for-each Döngüsü
for-each döngüsü, Java’da dizi veya koleksiyon arasında geçiş yapmak için kullanılır. Kullanımı basit for döngüsünden daha kolaydır çünkü değeri artırmamız ve alt simge gösterimi kullanmamız gerekmez.
Örnek: Dizi öğelerini yazdırma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class Main { public static void main(String arg[]) { //Dizi int dizi[]={12,23,44,56,78}; //Diziyi yazdırma for(int i:dizi){ System.out.println(i); } } } |
Çıktı:
1 2 3 4 5 6 7 | 12 23 44 56 78 |
Örnek : Dizi içindeki çift öğeleri yazdırma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | class Main { public static void main(String arg[]) { //Dizi int dizi[]={12,23,44,56,78}; //Diziyi yazdırma for(int i:dizi){ if(i%2==0) System.out.println(i); } } } |
Çıktı:
1 2 3 4 5 6 | 12 44 56 78 |
Örnek : ArrayList ile kullanım
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import java.util.ArrayList; class Main { public static void main(String arg[]) { ArrayList<String> araclar = new ArrayList<String>(); araclar.add("Volvo"); araclar.add("BMW"); araclar.add("Ford"); araclar.add("Mazda"); //Diziyi yazdırma for(String arac:araclar){ System.out.println(arac); } } } |
Çıktı:
1 2 3 4 5 6 | Volvo BMW Ford Mazda |
Java Etiketli for Döngüsü
Her Java for döngüsü için bir isme sahip olabilir. Bunu yapmak için for döngüsünden önce etiketi kullanırız. Döngüye özel olarak kırabileceğimiz/devam edebileceğimiz için iç içe for döngüsünü kullanırken faydalı olur.
Örnek : i ve j değeri 2 olunca döngüleri sonlandıran kod
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | class Main { public static void main(String arg[]) { birinci: for(int i=1;i<=3;i++){ ikinci: for(int j=1;j<=3;j++){ if(i==2&&j==2){ break birinci; } System.out.println(i+" "+j); } } } } |
Çıktı:
1 2 3 4 5 6 | 1 1 1 2 1 3 2 1 |
Yorum Yap