Her programlama dilinde olduğu gibi, Java’da da for döngüleri olmazsa olmazlardandır. Normalde bir program yazarken for döngüleri kullanmayabiliriz, yani şart değildir. Fakat bir yazıyı 100 kere yazmak istersek veya birden bine kadar olan sayıları yazdırmak istersek(bunun gibi örnekler çoğaltılabilir), for döngüleri bizlere kolaylık sağlayacaktır. 1000 satır kod yazacağımza, for döngüsü kullanarak 3-4 satırda işimizi halledebiliriz. Şimdi bir örnek yaparak daha iyi anlayalım. En son if kullanımıyla ilgili bir örnek yapmıştık, şimdi de hem if hem de for döngüsü kullanalım, program çalıştığında klavyeden, 1-2-3 tuşlarından birine basalım. Eğer 1’e basarsak ekrana bir adet yazı yazsın, 2’ye basarsak 2 adet, 3’e basarsak 3 adet yazı yazsın.
import java.util.Scanner; public class for_dongusu_kullanimi { public static void main(String[] args) { int sayi; Scanner girdi=new Scanner(System.in); System.out.print("1-2-3 sayılarından birini giriniz:"); sayi=girdi.nextInt(); if(sayi==1) System.out.print("1 sayısını girdiniz..."); else if(sayi==2) { for(int i=0;i<2;i++) System.out.print("2 sayısını girdiniz..."); } else if(sayi==3) { for(int i=0;i<3;i++) System.out.print("3 sayısını girdiniz..."); } else System.out.print("Geçersiz bir sayı girdiniz..."); } }
For döngülerinin altında birden fazla kod çalıştıracağımız zaman if kullanımında olduğu gibi parantezler kullanırız. Eğer tek satır kodu çalıştırmak istiyorsak, parantez kullanımına gerek kalmaz. For da if gibi altındaki kodu otomatik olarak çalıştırır. For döngüsünün içerisinde “i” adında bir adet sayaç tanımladık. İkinci örnekte i, 0’dan başladı ve 1’e kadar saydı, yani 2 kere çalıştı for döngümüz. Bu yüzden örneği çalıştırdığınızda ekrana 2 kere yazıldığını göreceksiniz. 3. örnekte de 0’dan 2’ye kadar saydığı için 3 kez yazacak. Burada önemli olan sayacın kaç kez çalıştığıdır. Yani illa 0’dan başlamasına gerek yok. Eğer “for(int i=5; i<7;i++)” şeklinde kullansaydık aynı işlevi görecekti. Bir dahaki örneğimizde for döngüsü içerisinde sayıları sırayla yazdırmayı öğrenceğiz…