Java Eğitimi 11- For Döngüsü

Herkese merhabalar,

Bu yazımda son döngü çeşidi olan for döngüsü konusunu sizlerle paylaşacağım.

For döngüsü, başlangıç ve bitiş değeri belli olan bir döngüdür. İşlemlerin tekrar sayısı belli olduğunda for döngüsü kullanarak kodu yazabiliriz. Bir işlemi tek tek yazdırmaktansa for deyimini kullanarak daha basit bir şekilde işimizi halledebiliriz. Örneğin ekrana 1’den 50’ye kadar olan sayıları yazdırmak istediğimizde for döngüsünü kullanarak kolay bir şekilde sonucu görebiliriz. Böylece bir kodu birden fazla kez çalıştırmış oluruz.

For döngüsü üç kısımdan oluşur. İlk kısım başlangıç değeridir. Bu değer “initialization” olarak da adlandırılır. Döngünün nereden başlayacağını bu parçada belirleriz. Bu kısımda yer alan işlemler döngüye başlamadan önce bir kere işlenir. Kullanacağımız işlem sayısı için herhangi bir kısıt yok. Yani bir işlem de yazabiliriz, birden fazla işlem de.

İkinci kısım koşul kontrolünün yapıldığı yerdir. Yani şartımız burada yer alır. Döngüyü ne kadar döndüreceğimizi belirleriz. Şart sağlandığı sürece döngü devam eder. Şart sağlanmazsa döngüden çıkılır.

Üçüncü kısımda ise başlangıç parametresini artıracağımız ya da azaltacağımız yerdir. Yazılacak olan programa göre gerekli işlem seçilir. Buradan da anlaşılacağı gibi for döngüsünün diğer döngülerden farkı; başlangıç, bitiş ve artış/azalış miktarlarının döngü içerisinde belirlenmiş olmasından kaynaklanır. O halde for döngüsünün yapısı şu şekilde gösterilir;

 public class donguler { 
public static void main(String[] args) {

  for (başlangıç değeri; koşul; değişken artırma/azaltma) {
  // yapılacak işlemler
  }
}
}

SONSUZ FOR DÖNGÜSÜ

For döngüsü ile yapabileceğimiz şeylerden birisi de sonsuz döngü oluşturmaktır.

for( ; ; ) {  }

yapısı ile bir sonsuz döngü oluşturursak döngü durmaz ve sonsuza kadar devam eder.

Bir örnek yaparak incelemeye başlayalım. Örneğin yazının başında söylediğim 1’den 50’ye kadar olan sayıları yazdıran programı yazalım.

 
public class donguler {
public static void main(String[] args){

  for(int i=1; i<=50; i++) {
  System.out.print(i+" ");
  }
}
}

kodunun çıktısı;

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

olur.

Eğer döngü kısmında for(int i=1; i<=50; i++) ifadesi yerine for(int i=1; ; i++) veya for(int i=1; i<=50; ) biçiminde yazarsak sonsuz döngü elde ederiz. Sonsuz döngülerden çıkmanın yolu kodlara “break” komutunu eklemektir.

public class donguler {
public static void main(String[] args){
for(int i=0 ; i<7 ; i++){
System.out.println(i);
}
}
}

Yukarıdaki kodları tek tek inceleyecek olursak; i=0 değeri başlangıç değeridir. i’yi 0 alarak programa başladık. i<7 kısmı koşulu belirtir. Yani 0’dan başlayan ve 7’den küçük olan sayılar aradığımız değerlerdir. Son kısımda da i++ ifadesi yer almakta. Bu da 0’dan başlayarak 7’ye kadar birer birer artır anlamına gelir. Döngünün içine girdiğimizde System.out.println(i); ifadesi karşımıza çıkıyor. Bu da i değerlerini ekran çıktısında görmemizi sağlar. Ekranda göreceğimiz çıktı;

0
1
2
3
4
5
6

şekilde olur. Peki çarpım tablosu yapmaya ne dersiniz?

Çarpım tablosunu yapabilmek için iç içe döngülerden faydalanmamız gerekiyor. Yani for içinde tekrar for kullanacağız. Çarpım tablosu için değerlerimiz 0 ile 10 arasında olsun. Yani önce 0 ile sayıları çarpalım; 0*0=0, 0*1=0, 0*2=0, 0*3=0 gibi. Sonra değerimiz bir artsın ve 1*0=0, 1*1=1, 1*2=2 yaparak 10*10=100’e ulaşalım.

O zaman birinci çarpan için i, ikinci çarpan için j değişkenini kullanabiliriz. Hem i’nin hem de j’nin ilk değeri 0 olmalı. Başlangıç değerlerimiz 0 olarak belirlendi. Sıra geldi koşulu yazmaya. Yazılacak son işlem 10*10 olduğu için i ve j değişkenlerinin koşulu i<=10 ve j<=10 olur. Burada i<11 ve j<11 koşulları da kullanılabilir, sonuç değişmeyecektir. Yapacağımız son kısım her iki değerin de artımını sağlamaktır. Böylece söylediklerimi kod haline getirebiliriz.

public class donguler {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
for (int j = 0; j <= 10; j++) {
}
}
}
}

Şu anda eksik birkaç yeri var. For döngüsünün içine, ekran çıktısında işlemleri nasıl görmek istediğimizi yazdırmamız gerek. System.out.println(i + ” * ” + j + ” = ” + i * j); dersek bu parça da tamamlanır. Ve son olarak her artımda bir adet boşluk bırakalım ki bütün işlemler iç içe girmesin. Boşluğu System.out.println(); komutu ile bırakabiliriz. Bu komutu for döngüsünün içine değil de dışına yazmamız gerekiyor. Eğer içine yazarsak yapılan her işlem sonrası boşluk oluşur. Kodların tam hali şöyledir;

Ekran çıktısı ise;

şeklinde devam eder.

Yorum bırakın