Döngüler


Döngüler:

For in Döngüsü:

for sayi in 1...3{       1                                                var bitis:Int=3
print(sayi) ---------> 2                                                for sayi in 1...bitis
}                               3                                               {print(sayi) --> 1
                                                                                  }                       2
                                                                                                           3
Not: sayi değişkenine 1'den 3'e, 3te dahil sayıları at.


var dizi=[“Kars”,”İzmir”,”Sivas”,”İstanbul”]
for eleman in dizi{             Kars
print(eleman) -------------> İzmir
}                                         Sivas
                                           İstanbul




var dizi=[“Erzurum”:25, “İzmir”:35, “Sivas”:58]
for eleman in dizi
{                                    (“Erzurum”,25)
print(eleman)---------> (“İzmir”,35)
}                                   (“Sivas”,58)


var dizi = [“Erzurum”:25, “İzmir”:35, “Sivas”:58]
for (sehir,plaka) in dizi
{
print(“\(sehir) plakası: \(plaka)”)
}
---> Erzurum plakası: 25
       İzmir plakası: 35
       Sivas plakası: 58



For i in stride(from:ilk sayı, to:...e kadar, by:artış)



for i in stride(from:1, to:4, by:1)
{                      1
print(i)-------> 2
}                      3



var sayi = 1
for f in stride(from:1, to:4, by:1)
{
sayi = sayi * f
}
print(sayi) ----> 6
//3! alma (faktöriyel)


While Döngüsü:

while döngüsünde döngü değişkeni bulunmamaktadır. Bu döngü türünde döngünün akıbeti koşul ile belirlenmektedir. Belirlediğimiz koşul gerçekleştiği sürece döngü çalışır. İstenilen veri tipinde koşul sunulabilir.
while(koşul)
{ //Döngünün içine yazılacak kodlar.
}


var i=1                     1
while (i<=5)            2
{print(i) -----------> 3
i+=1                        4
}                              5


Repeat While Döngüsü:

En az bir kere çalışan döngü.
var i=1
Repeat                       1
{print(i) ------------> 2
i+=1                          3
}while(i<=3)


Continue Deyimi:

Döngünün çalışması sırasında atlanması istediğimiz adım.
for a in 1...5
{if a==4{continue}            1
print(a) --------------------> 2
}                                         3
                                           5
for a in 1...5
{
switch a {
case 2,3 : continue
default: print(a) -------------> 1
}}                                           4


Break Deyimi:

Eğer döngüyü tamamlamadan bitirmek isternirse;
for a in 1...10
{if a==4 {break}                 1
print(a) ---------------------> 2
}                                          3


Inline Sequences

sequence(first:next:) ve sequence(state:next:) gibi global fonksiyonlar dizileri sonsuz döngüye sokacaktır. Böyle bir durum olmaması için bunlara bir başlangıç ve bitiş değeri vermek gerekir.
Prefix manipülatörünü kullanarak bu kısıtlamayı gerçekleştirebiliriz.
Örnek :
for x in sequence(first: 0.1, next: { $0 * 2 }).prefix(while: { $0 < 4 }) {

// 0.1, 0.2, 0.4, 0.8, 1.6, 3.2
}



Fallthrough Deyimi:

Switch case yapısında kullanılan deyimdir. Falltrough yazdığımız case bloğundan bir sonraki bloğuda çalıştırır.


var b=4
switch b
{
case 4: print(“b=4”)
fallthrough
case 5: print(“b=5”)
default: print(“hiç biri”) b=4
} -------------------------------------> b=5


var b=4
switch b
{
case 4: print(“b=4”)
fallthrough
case 5: print(“b=5”)
fallthrough
default: print(“hiç biri”) b=4
} -------------------------------------> b=5
hiç biri
var b=4
switch b
{
case 4: print(“b=4”)
case 5: print(“b=5”)
fallthrough
default: print(“hiç biri”)
} -------------------------------------> b=4