Dart Dilinde Döngü İfadeleri ve Özellikleri
Dart dilinde döngü ifadeleri, tıpkı diğer programlama dillerinde de olduğu üzere belirli bir koşul sağlanana kadar belirli bir kod bölümünü belirli sayıda tekrarlamamız gerektiğinde kullanılır. Kısaca döngü, belirli bir koşul sağlanana kadar tekrarlanan bir kontrol yapısıdır.
Dart Dilinde Döngü İfadeleri
Dart dilinde kullanılan döngü ifadeleri alt başlıklar halinde derlenmiştir:
Dart for Döngüsü
Dart’ta temel for döngüsü, C, C++ ve Java’dakine benzer bir şekilde yapılmaktadır. For döngüsü, yineleyici olarak bir değişken alır ve ona bir başlangıç değeri atar ve test koşulu doğru olduğu müddetçe de döngü yinelenir.
Geçerli yineleme için döngü ifadeleri yürütüldüğünde, yineleyici yeni değerle güncellenir ve test koşulu hala geçerliyse, döngüye devam eder. Test koşulu yanlış bir değer döndürdüğünde, for döngüsü sona erer. For döngüsü özellikle tekrarlayan işlemlerin sayısı bilindiğinde tercih edilmesi gerekir.
Aşağıdak for döngüsünün genel sözdizimi (syntax) verilmiştir. For döngüsünün noktalı virgülle ayrılmış üç bileşeni vardır:
for(başlatma; koşul; arttırma veya azaltma){
// döngü gövdesi
}
- başlatma (initialization ), döngü yineleyicisini bildirmek ve başlatmak için kullanılır ve başlangıçta yalnızca bir kez yürütüldüğü gibi yürütülecek de ilk ifadedir.
- koşul (condition), test koşulu her yinelemeden önce değerlendirilir ve gerçek bir değer döndürürse, mevcut yineleme için döngü gövdesi yürütülür. Yanlış bir değer döndürürse, döngü sonlandırılır ve kontrol, for döngüsünden hemen sonraki ifadeye atlar.
- arttırma veya azaltma (increase or decrease), döngü gövdesi mevcut yineleme için yürütülür, ardından yineleyici değerini güncellemek için arttırma veya azaltma ifadesi yürütülür. Eğer test koşulu yeniden değerlendirilirse, döngü devam eder. Eğer test koşulu yanlış bir değer döndürürse, döngü sonlandırılır.
void main() {
for (int x = 1; x <= 4; x++) {
print(x);
}
}
Çıktı:
1
2
3
4
Tek satırlık ifadeler olması durumunda parantezler yazılmayabilir:
void main() {
for(var x = 0; x <= 4; ++x)
print("$x. Değer");
}
Dart for .. in Döngüsü
Dart’ta for in döngüsü, yineleyici olarak bir ifade alır ve sırayla elemanlar arasında birer birer yinelenir. Elemanın değeri, döngü gövdesi için geçerli ve kullanılabilir olan bir değer olmaktadır. Döngü ifadeleri geçerli yineleme yürütüldüğünde, bir sonraki eleman yineleyiciden alınır ve döngü devam eder. Yineleyicide başka eleman kalmadığında for döngüsü sonlandırılır.
void main() {
var liste = [1,2,3,4];
for (var x in liste) {
print(x);
}
}
Çıktı:
1
2
3
4
Dart while Döngüsü
while döngüsünde koşul, True (dpğru) veya False (yanlış) ile sonuçlanan bir Boole ifadesidir, eğer True ile sonuçlanırsa, döngü gövdesi içindeki ifadeler yürütülür ve koşul yeniden değerlendirilir. Bu işlem, koşul False olarak değerlendirilene kadar tekrarlanır. Koşul False ile sonuçlanırsa, yürütme döngü gövdesinden atlanır ve while döngüsü sonlandırılır.
while(test)
{
// döngü gövdesi
}
void main()
{
var x = 1;
var sonX = 4;
while(x <= sonX)
{
print(x);
x = x+1;
}
}
Dart do while Döngüsü
while döngüsünden farklı olarak do-while döngüsünde önce döngü içerisine girer işlemleri bir sefere mahsus gerçekleştirir. Eğer ifade bloğu geçerliyse döngü devam eder, geçerli değilse döngüden çıkılır.
Burada döngü, önce döngü gövdesi içindeki ifade bloğunu yürütür ve ardından bir sonraki yineleme için while anahtar kelimesiyle birlikte sağlanan koşulu test eder ve sonraki yalnızca koşul doğruysa yürütülür. Koşul, True veya False ile sonuçlanan bir Boole ifadesidir, eğer True ile sonuçlanırsa, döngü gövdesi içindeki ifadeler yürütülür ve koşul yeniden değerlendirilir. Bu işlem, koşul False olarak değerlendirilene kadar tekrarlanır. Koşul False ile sonuçlanırsa döngü sonlandırılır.
void main()
{
var x =1;
var sonX =5;
do
{
print("X'in değeri: ${x}");
x = x+1;
}
while(x <= sonX);
}
Çıktı:
X’in değeri: 1
X’in değeri: 2
X’in değeri: 3
X’in değeri: 4
X’in değeri: 5