Java’da For döngüsü, oluşturacağımız programlarda olayların tekrarlanmasını sağlayan bir yapıya sahiptir. For döngüsüyle bu olayları daha kolay şekilde tekrarlayabiliriz. For döngüsünde belirtilen koşul doğru olduğu sürece döngünün içerisindeki komutlar çalışmaya başlar ve belirtilen komutu tamamladıktan sonra döngü biter. Basit bir örnek ile başlayalım.
1. Örnek
For döngüsü ile 10’dan 1’e kadar yazdıran program.
1 2 3 | int i; for(i =1; i <=10;i++) System.out.println(i); |
Ekran Çıktısı
1 2 3 4 5 6 7 8 9 10 11 | 0 1 2 3 4 5 6 7 8 9 10 |
For döngüsü içerisinde i değişkeninde (i=0) yazarak 0 değerini atıyoruz. Sonrasında (i<=10) koşulunu belirtiyoruz. Döngünün sonunda (i++) ile değişkenin artış miktarını belirtiyoruz (i++) değişkenin birer birer artmasını sağlamaktadır.
2. Örnek
For döngüsü ile 1’den 20’ye kadar üçer üçer yazılmasını sağlayan program.
1 2 3 4 | int i; for(i=1; i<=20; i+=3) { System.out.print(i +" ");//System.out.print ile ekran çıktısı yana doğru yazılmasını sağlıyoruz. } |
Ekran Çıktısı
1 | 1 4 7 10 13 16 19 |
Bu for döngüsü örneğinde ise koşulumuzu belirtiyoruz (i<20). Sonrasında ise artış miktarını 3 olarak belirtiyoruz (i+=3). Sayılar 0’dan başlayıp 20’ye kadar üçer üçer artması sağlanıyor.
3. Örnek
For döngüsü ile girilen sayı kadar ekrana yazdıran program.
1 2 3 4 5 6 | Scanner scanner = new Scanner(System.in); int i; System.out.println("Sayı giriniz "); int n = scanner.nextInt(); for (i=1; 0<=n; i++) System.out.println(i); |
Ekran Çıktısı
1 2 3 4 5 6 7 8 9 | Sayı giriniz 7 1 2 3 4 5 6 7 |
4. Örnek
1 2 3 4 5 6 7 8 9 10 | Scanner scanner = new Scanner(System.in); int i,n; System.out.println("Sayı giriniz "); n = scanner.nextInt(); for (i=1; 0<=n; i++) { if(i%2==1)//Şartımız, i'deki sayılar 2'ye bölünüp kalan 1 ise. System.out.println(i);//Kalanı 1 olan sayıları ekrana yazdırıyor. |
Bu örneğimizde koşul olarak (i<n) belirttik, kullanıcıdan alınan değer ile koşulumuzu belirlemiş olduk.
5. Örnek
Klavyeden girilen sayıdan 0’a kadar, bölen sayısını klavyeden girip, bölünen sayıları ekrana yazdıran program.
1 2 3 4 5 6 7 8 9 10 11 | Scanner scanner = new Scanner(System.in); int i; System.out.println("Sayı giriniz "); int n = scanner.nextInt(); System.out.println("Bölen sayıyı giriniz"); int y = scanner.nextInt(); for (i=1; i<=n; i++)//For döngümüzdeki koşulları belirttik { if(i%y==0)//Eğer i' girilen y sayısına bölünüp kalan 0 oluyorsa ekrana yazdır. System.out.println(i+" " +y+"'e bölünür"); } |
Ekran Çıktısı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Sayı giriniz 95 Bölen sayıyı giriniz 8 8 8'e bölünür 16 8'e bölünür 24 8'e bölünür 32 8'e bölünür 40 8'e bölünür 48 8'e bölünür 56 8'e bölünür 64 8'e bölünür 72 8'e bölünür 80 8'e bölünür 88 8'e bölünür |
6. Örnek
Klavyeden girilen sayının kaç basamak olduğunun ekran çıktısını veren program.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | int x; System.out.println("Girilen sayının kaç basamak olduğunu öğrenme"); System.out.println("Sayı giriniz:"); x=scanner.nextInt(); if(<x10)//İf else koşulları ile basamaklara göre şartlarımızı belirttik. System.out.println("Sayı 1 basamaklı"); else if(x<100) System.out.println("Sayı 2 basamaklı"); else if(x<1000) System.out.println("Sayı 3 basamaklı"); else if(x<10000) System.out.println("Sayı 4 basamaklı"); else if (x<100000) System.out.println("Sayı 5 basamaklı"); else System.out.println("Sayı 6 basamaklı"); |
Ekran çıktısı
1 2 3 4 | Girilen sayının kaç basamak olduğunu öğrenme Sayı giriniz: 50 Sayı 2 basamaklı |