DartLang

Dart Döngü Kontrolleri ( for, while kullanımı)

Dart dilinde döngü kontrolleri, programlama süreçlerinde tekrar eden işlemleri kolaylaştırmak ve optimize etmek için kullanılan temel yapı taşlarıdır. Bu kontroller, belirli koşullara göre bir dizi işlemi yinelemek veya bir liste üzerinde gezinmek için kullanılır. İşte Dart dilinde döngü kontrollerini anlamak için temel başlıklar:

Döngü nedir?

Döngüler, belirli bir işlemi veya bloğu, belirli bir koşul sağlandığı sürece tekrar tekrar yürüten programlama yapılarıdır. Dart dilindeki döngüler, çeşitli tiplerde gelir ve her biri belirli bir kullanım senaryosuna uygun avantajlar sunar.

Dart’ta Döngü Çeşitleri

Dart dilinde kullanılan temel döngü çeşitleri for, while ve do-while‘dır. Her bir döngü türü, farklı koşul ve senaryolara uygun olarak tasarlanmıştır. Bu çeşitlilik, programcılara çeşitli durumlarda en uygun döngü yapısını seçme esnekliği sağlar. Bu makalede, her bir döngü türünün kullanımını ayrıntılı olarak ele alacağız.

Dart Dilindeki Temel Döngü Türleri

for Döngüsü

Başlangıç, Koşul ve Artış İfadesi

Dart dilindeki for döngüsü, genellikle belirli bir aralıkta veya bir liste üzerinde iterasyon yapmak için kullanılır. Bu döngü türü üç temel bölümden oluşur: başlangıç ifadesi, koşul ifadesi ve artış ifadesi.

  • Başlangıç İfadesi: Döngünün başlangıcında bir kere çalışan ifadedir. Genellikle bir değişkenin başlangıç değeri atanır.
  • Koşul İfadesi: Döngünün her iterasyonu öncesi değerlendirilen bir ifadedir. Eğer bu ifade doğru (true) ise döngü devam eder, değilse sonlanır.
  • Artış İfadesi: Her iterasyon sonunda çalışan ve genellikle bir değişkenin değerini artıran veya azaltan ifadedir.

Örnek Kullanımlar

1. Sayıları Toplama:

Bu örnekte, 1’den 10’a kadar olan sayıları toplamak için bir for döngüsü kullanılmıştır.

2. Liste Elemanlarına Erişim:

Bu örnekte, bir liste üzerinde for-in döngüsü kullanılarak meyve isimlerine erişim sağlanmıştır.

for döngüsü, belirli bir tekrar sayısına veya bir liste üzerinde gezinmeye ihtiyaç duyulan durumlarda kullanılır. Bu sayede kodunuz daha okunabilir ve yönetilebilir hale gelir.

while Döngüsü

Koşul İfadesi ve İşleyiş Mekanizması

Dart dilindeki while döngüsü, belirli bir koşul sağlandığı sürece bir bloğu tekrar tekrar yürütür. Temel öğeleri şunlardır:

  • Koşul İfadesi: Döngünün her iterasyonu öncesi değerlendirilen bir ifadedir. Eğer bu ifade doğru (true) ise döngü devam eder, değilse sonlanır.
  • İşleyiş Mekanizması: Koşul ifadesi doğru olduğu sürece döngü bloğu tekrar tekrar çalıştırılır.

Örnek Senaryolar

1. Sayıları Çarpma:

Bu örnekte, 1’den 5’e kadar olan sayıların çarpımını bulmak için bir while döngüsü kullanılmıştır.

2. Belirli Bir Koşulu Sağlayan Sayıları Bulma:

Bu örnekte, 1’den 10’a kadar olan çift sayıları bulmak için bir while döngüsü kullanılmıştır.

do-while Döngüsü

Koşulun Döngü İçinde Değerlendirilmesi

do-while döngüsü, döngü bloğunu en az bir kez çalıştırır ve ardından koşulu değerlendirir. Temel öğeleri şunlardır:

  • İşleyiş Mekanizması: Döngü bloğu en az bir kez çalıştırılır, ardından koşul ifadesi değerlendirilir. Eğer koşul doğru (true) ise döngü devam eder, değilse sonlanır.

Uygulama Alanları

1. Kullanıcıdan Giriş Alma:

Bu örnekte, kullanıcının belirli bir aralıkta rastgele seçilen bir sayıyı tahmin etmesi istenir. Kullanıcı her tahmininde, bilgisayarın seçtiği sayı ile karşılaştırılır ve kullanıcıya daha yüksek veya daha düşük bir tahminde bulunması konusunda bilgi verilir. Kullanıcı doğru tahmini yaptığında, kaç denemede doğru tahmin yapıldığı ekrana yazdırılır.

2. Toplamı Belirli Bir Sınıra Çekme:

Döngü Kontrollerindeki Temel İfadeler

break İfadesi

Döngüden Erken Çıkma

Dart dilindeki break ifadesi, bir döngüyü belirli bir koşul sağlandığında erken sonlandırmak için kullanılır. Temel öğeleri şunlardır:

  • Kullanım Noktaları: break ifadesi genellikle bir if ifadesi içinde belirli bir koşul sağlandığında döngüden çıkmak için kullanılır.
  • Döngüden Çıkma Mantığı: break ifadesi, bulunduğu döngüyü hemen sonlandırır ve döngü sonrasındaki kodun çalışmasına devam eder.

Kullanım Örnekleri

1. Belirli Bir Koşulu Sağlayan Elemanı Bulma:

Bu örnekte, belirli bir sayıyı içeren bir liste üzerinde döngü kurulmuş ve aranan sayı bulunduğunda break ifadesi kullanılarak döngüden çıkılmıştır.

2. Kullanıcıdan Belirli Bir Girdi Bekleme:

Bu örnekte, kullanıcının “E” tuşuna basarak devam etmesi veya “Q” tuşuna basarak programdan çıkması sağlanmış ve break ifadesi kullanılarak döngüden çıkılmıştır.

continue İfadesi

Döngü İterasyonunu Atlama

Dart dilindeki continue ifadesi, bir döngünün belirli bir koşulu sağlayan iterasyonlarını atlamak için kullanılır. Temel öğeleri şunlardır:

  • Kullanım Noktaları: continue ifadesi genellikle bir if ifadesi içinde belirli bir koşul sağlandığında döngü iterasyonunu atlamak için kullanılır.
  • İterasyonu Atlama Mantığı: continue ifadesi, bulunduğu döngüdeki mevcut iterasyonu atlar ve bir sonraki iterasyona geçer.

Pratik Kullanımlar

1. Tek Sayıları Atlayarak Toplama:

Bu örnekte, continue ifadesi kullanılarak for döngüsünde tek sayılar atlanmış ve sadece çift sayılar toplanmıştır.

2. Belirli Bir Durumu İptal Etme:

Bu örnekte, continue ifadesi kullanılarak for döngüsünde boş veya null olan isimler ignore edilmiştir.

Iterable ve Iterator Kavramları

Dart’ta Iterable ve Iterator Nedir?

Iterable Nedir?

Dart dilinde bir nesnenin üzerinde gezinmeyi sağlayan ve for-in döngülerinde kullanılabilen her şey “Iterable” olarak adlandırılır. Iterable, Iterable sınıfından türetilmiş nesneleri ifade eder.

Iterator Nedir?

Iterator, bir Iterable üzerinde gezinmek için kullanılan bir nesnedir. Iterator, Iterator sınıfından türetilmiş ve Iterable üzerindeki elemanlara sırayla erişimi sağlar.

Döngü Kontrollerinde Iterable Kullanımı

Dart dilindeki Iterable nesneleri, for-in döngülerinde kullanılabilir. Iterable nesneler, koleksiyonlar (List, Set, Map gibi) ve diğer Iterable sınıflarını içerir. Örneğin:

Bu örnekte, isimler listesi bir Iterable nesnesidir ve for-in döngüsü kullanılarak elemanlarına erişim sağlanmıştır.

Iterator ile Özel İşlemler

Dart dilinde Iterator nesneleri, Iterable sınıfının iterator metodunu kullanarak oluşturulabilir. Bu Iterator, moveNext ve current metodları ile Iterable üzerinde gezinme yeteneği sağlar.

Bu örnekte, bir Iterator nesnesi oluşturulmuş ve while döngüsü ile Iterable üzerinde gezinme gerçekleştirilmiştir.

Döngü Kontrollerinde Güncel ve Modern Yaklaşımlar

forEach Metodu Kullanımı

Dart dilindeki Iterable nesneleri üzerinde gezinmek için forEach metodunu kullanmak modern bir yaklaşımdır.

Bu örnekte, forEach metodu kullanılarak meyveler listesi üzerinde gezinilmiş ve her eleman için belirli bir işlem gerçekleştirilmiştir.

for-in Deyimi ve Avantajları

for-in deyimi, Iterable nesneler üzerinde gezinmek için kullanılan temiz ve okunabilir bir yapısıyla dikkat çeker. Özellikle koleksiyonlarda ve dizilerde kullanımı yaygındır.

Bu örnekte, for-in deyimi kullanılarak bir Set üzerinde gezinilmiş ve her eleman için belirli bir işlem gerçekleştirilmiştir.

Döngü Kontrollerinde Lambda (Arrow) Fonksiyonları

Dart dilinde lambda fonksiyonları, kısa ve öz bir şekilde fonksiyon tanımlamak için kullanılır. Döngü kontrollerinde lambda fonksiyonları, daha kompakt ve okunabilir kod yazmaya olanak tanır.

Bu örnekte, forEach metodu içinde lambda fonksiyonu kullanılarak sayılar listesi üzerinde gezinilmiş ve her eleman için belirli bir işlem gerçekleştirilmiştir.

Döngü Kontrollerinde Hata Yönetimi

Hataların İzlenmesi ve Yönetilmesi

Hata yönetimi, bir programın beklenmeyen durumlarla başa çıkabilme yeteneğini ifade eder. Döngü kontrollerinde hata yönetimi, özellikle bir döngü içinde meydana gelebilecek hataları izlemek ve bunlara uygun bir şekilde yanıt vermek için önemlidir.

Döngü Kontrollerinde Try-Catch Blokları

Dart dilindeki try-catch blokları, belirli bir kod bloğundaki hataları yakalamak ve bu hatalara uygun bir şekilde tepki vermek için kullanılır. Döngü içinde hata yönetimi sağlamak için try-catch bloklarını kullanabiliriz.

Bu örnekte, döngü içinde belirli bir durumda bir hata oluşturulmuş ve bu hata try-catch blokları ile yakalanmıştır.

Örnek Uygulama: Bir Liste Üzerinde Döngü Kontrolleri

Liste Oluşturma ve İlk Verilerin Eklenmesi

Bu örnekte, notEkle fonksiyonu ile bir liste üzerine notlar eklenir. Ancak, geçersiz bir not eklendiğinde bir hata oluşturulur.

Döngü Kontrolleri ile Liste Elemanlarına Erişim

Bu örnekte, for döngüsü ile oluşturulan hataları yakalayarak her bir not için belirli bir işlem gerçekleştirilir.

Hata Yönetimi ve İterasyonları İzleme

Bu örnekte, her bir iterasyon sırasında oluşan hataların yanı sıra o anki iterasyon numarası da ekrana yazdırılır. Bu, hataların hangi aşamada meydana geldiğini izlemek için faydalı olabilir.

Sonuç

Dart dilinde döngü kontrol mekanizmaları, programların tekrarlayan işlemleri yönetmelerini ve aynı zamanda hata yönetimi ile başa çıkmalarını sağlar. Iterable ve Iterator kavramları, veri koleksiyonları üzerinde gezinmeyi kolaylaştırırken, try-catch blokları hata yönetimini etkin bir şekilde gerçekleştirmemize imkan tanır. Modern yaklaşımlar, kodun okunabilirliğini artırır ve programcılara daha esnek bir yazım stili sunar. Dart dilindeki döngü kontrol mekanizmaları, yazılım geliştirme sürecinde hem güvenilirlik hem de esneklik sağlayarak etkili ve sağlam uygulamalar oluşturmak için önemli araçlar sunar.

Kaynak: https://dart.dev/language/loops

1 Yorum

Yorum yapmak için tıklayın