Merhaba Arkadaşlar,
mobilhanem.com üzerinden anlattığımız/yayınladığımız derslerimize Temel Java Dersleri serisi altında For Döngüsü konusuyla devam ediyoruz. Bir önceki dersimizde While Döngüsünü anlatmıştık. While döngüsü ile For Döngüsü kullanım alanları aynı olabileceği gibi çoğunlukla farklı olacaktır.
Yazmış olduğumuz kodda bazı durumlarda bir kodu birden fazla kez çalıştırmamız gerekebilir. Örneğin ekrana 0’dan 9’a kadar değerleri yazdırırken tektek yazdırmak yerine for döngüsü ile bu işlemi kolaylıkla halledebiliriz. Java dilinde genel olarak for yapısı aşağıdaki gibi gösterilebilir;
for(dongu_baslangic_degeri; dongu_kosulu; dongu_deger_degisimi) { //kosula uygun kod blogu }
bu şekilde tanımlandığın karışık gözüküyor olabilir, bu nedenle hemen basit bir örnekle anlatmaya çalışalım.
For Döngüsü Örnekler
Kod içerisinde bir değişken tanımlayıp bu değişken değerini 0 (sıfır) verelim. Daha sonra ekrana 0’dan 9’a kadar sayıları yazdıralım. Bu işlemi for döngüsünü kullanmadan ve kullanarak iki farklı şekilde yapmaya çalışalım.
int i = 0; //for dongusu kullanmadan System.out.println("Deger: " + i); System.out.println("Deger: " + (i+1)); System.out.println("Deger: " + (i+2)); System.out.println("Deger: " + (i+3)); System.out.println("Deger: " + (i+4)); System.out.println("Deger: " + (i+5)); System.out.println("Deger: " + (i+6)); System.out.println("Deger: " + (i+7)); System.out.println("Deger: " + (i+8)); System.out.println("Deger: " + (i+9)); //for dongusu kullanarak for(i = 0; i < 10; i++) { System.out.println("Deger: " + i); }
görmüş olduğunuz gibi for döngüsü ile çok daha kolay bir şekilde yazdırabildik.
Önemli Not: “System.out.println(“Deger: ” + (i+2));” satırında değişkeni (i+2) şeklinde yazmamızın sebebi, “Deger: ” + dan sonrasını String tipinde göreceği için eğer matematiksel işlemi parantez içerisinde yapmazsak ekrana verileri 0, 01, 02, 03 … şeklinde yazdırdığını görürüz.
Farklı For Döngüsü Kullanımları
For Döngüsü ‘nün bir çok farklı kullanımı olabilir. Örneğin verileri sadece arttırarak yazmamız gerekmemektedir, veya döngüyü 0 (sıfır) dan başlatmak zorunda değilizdir. For Döngüsü nün bir kaç farklı kullanım örneğini vermek gerekirse;
//standart kullanim System.out.print("i: "); for(int i = 0; i < 10 ; i++) { System.out.print(i + " "); } //azaltarak kullanım System.out.print("\nj: "); for(int j = 10; j >= 0 ; j--) { System.out.print(j + " "); } //5ten 10a kadar System.out.print("\nk: "); for(int k = 5; k <= 10; k++) { System.out.print(k + " "); } //0dan 100 e 10ar 10ar System.out.print("\nl: "); for(int l = 0 ; l <= 100; l+=10) { System.out.print(l + " "); } //50den 0a 5er 5er System.out.print("\nm: "); for(int m = 50; m >= 0; m-=5) { System.out.print(m + " "); } //Konsol ciktisi i: 0 1 2 3 4 5 6 7 8 9 j: 10 9 8 7 6 5 4 3 2 1 0 k: 5 6 7 8 9 10 l: 0 10 20 30 40 50 60 70 80 90 100 m: 50 45 40 35 30 25 20 15 10 5 0
Burada gözden kaçabilecek bir kaç ufak ama önemli bilgi vermek faydalı olacaktır. Kodun herhangi bir yerinde for içinde tanımladığımız değişkeni kullanmayacaksak yukardaki örneklerde olduğu gibi for içerisinde tanımlayabiliriz. System.out.println ve System.out.print komutları farklı komutlardır. Baştaki komut her yazılanı yeni bir satırda yazarken sonraki komut yazılanları aynı satırda yazmak için kullanılır.
Şuana kadar verdiğimiz örneklerimizde tek bir For Döngüsü kullandık. Fakat istediğimiz kadar for döngüsünü iç içe kullanabiliriz. Literatürde bunun adı nested loop olarak geçmektedir. Nested Loop sadece For Döngülerinden değil for içinde while veya while içinde For Döngülerinden oluşabilir. Bu duruma bir örnek vermek gerekirse;
İçiçe Döngüler
//nested loop for(int i = 0; i<10; i++) { System.out.println("i: " + i); for(int j=10; j>0; j--) { System.out.println("i: " + i + " j: " + j); } }
Sonsuz For Döngüsü
For Döngüsü ile sonsuz döngü oluşturmak istenirse aşağıdaki gibi bir kod yazmak yeterli olacaktır;
//sonsuz dongu for( ;1; ) { }
Bu dersimizde anlatacaklarımız bu kadar. Java yazılım dilinde döngülerin kullanım alanı oldukça fazladır. Bu sebeple döngüleri iyi anlamakta fayda vardır.
Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.
Tüm Temel Java Dersleri için tıklayınız..
111