Sponsor Reklam 


24.12.2008 (04:47)

 For Döngüsü, Break ve Continue Kullanımı 
For döngüsü için çeşitli kullanım seçenekleri bulunmaktadır. Önemli olan amaca yönelik ve etkin kullanmaktadır. Algoritmik açıdan, gelişigüzel kullanmak programın karmaşıklığını artırmaya sebep olacaktır. For içinde yoğun işlemler mevcut ise ve gereksiz dönmeler söz konusu ise, her gereksiz dönülen adımda bu yoğun işlemler programın yavaş çalışmasına yol açtığı gibi bilgisayarın kaynaklarının da fazlaca kullanılmasına neden olacaktır.

Basit gibi de görünse proje olarak yapılan iş büyüdükçe toplam karmaşıklık ve yavaşlama artacaktır.

For döngüsü örnekleri şunlardır:

# Örnek 1
int n = 100;
for (int i = 0; i < n; i++) {
  System.out.println(100-i);
}

# Örnek 2
int n = 100;
int i = 0;
for (; i < n;) {
  System.out.println(100-i);
  i = i + 1;
}

# Örnek 3
int n = 100;
int i = 0;
for (; ; ;) {
  if (i < 100) {
    System.out.println(100 - i);
    i++;
  } else {
    break;
  }
}

# Örnek 4
int n = 100;
int i = -10;
for (; i < n; i++) {
  if (i < 0) {
    continue;
  } else {
    System.out.println(100 - i);
  }
}

Bütün bu örnekler 100'den başlayarak 1'e kadar ekrana yazdırma yapar:
100
99
98
97
.
.
.
3
2
1

for deyiminde ilk değer ataması, koşul ve iterasyon noktalı virgül (;) ile ayrılmıştır. Bunlara bağlı olarak döngünün içi çalışır. Eğer bazıları kullanılmazsa atama veya kontrol işlemi başka bir yerde muhakkak yapılmalıdır. Hiçbiri kullanılmazsa bu sonsuz döngüye yol açar. Yine doğru yapılmayan iterasyon veya kontrol de sonsuz döngüye yol açabilir.

Örnek 1 anlaşılması ve kullanılması açısından ideal bir for döngüsüdür. Örnek 2'de iterasyonda kullanılan değişkenin tanımlanması ve ilk değer ataması for'un dışında yapılmıştır. Örnek 3'te ise tanımlama ve değer atama dışarıda yapılmıştır ve iterasyonda değer artımı döngü içinde yapılmaktadır. Sınıra ulaşılıp ulaşılmadığı da yine döngü içinde kontrol edilmekte ve ulaşınca break ile döngü sonlanmaktadır. For içinde break kullanımı mantığa uygun olsa da programlama açısından istenmeyen bir durumdur. İlle kullanılacaksa while döngüsü tercih edilmelidir. Örnek 4'te continue kullanımını görüyoruz. i değerinin sıfırdan küçük değerler için continue çalışmakta yani döngü o adımı o noktada bırakıp bir sonraki adıma pas geçmektedir. continue kullanmaktan yine kaçınılabilir. Getireceği kolaylık bir döngüde bazı adımlar pas geçilmek istenirse bu işimizi görecektir fakat döngüyü ayırarak bunu yapsak fazladan zaman kaybımız olmayacak, dahası pas geçeceğimiz adımları da dönmemiş olacağız. Kod anlaşılırlığı açısından da daha uygun olacaktır.
Imza: admin








Yazilar kaynak gosterilmeden kopyalanamaz © www.kodcu.net // Twitter