一、迴圈語句 1. for迴圈
1) for -in 迴圈, 對於資料範圍,序列,集合等中的每一個元素,都執行一次
for a in 0...5{} //迴圈迭代,從a=0到a=5,執行{}裡的代碼 注意:a只迴圈中存在,也就是出了{}a就不存在了
或者遍曆數組
[objc] view plain copy print ? let a = [1,2,3] for b in a{} //迴圈迭代,從b=1到b=3
如果你不需要序列中的每一個值,可以使用_來忽略它,僅僅只是使用迴圈體本身:
for _ in 0 ... 5 {} // 迴圈執行{}裡的代碼 , 執行 6 次
2) For-Condition-Increment條件迴圈。和c語言中的一樣
for var a = 0 ; a< 3 ; a++ {} // 迴圈,從 a=0 到 a=2
2. while迴圈
while迴圈執行一系列代碼塊,直到某個條件為false為止。這種迴圈最長用於迴圈的次數不確定的情況
1) while迴圈
var a = 1
while a < 5 { println ( a ++) } // 輸出 1 2 3 4
2) do-while迴圈
var a = 1
do { println ( a ++) } while a < 5 // 輸出 1 2 3 4
while和do-while的區別就是do-while是先執行再判斷,也就是說do-while至少執行一次,while可能一次都不執行
二、條件陳述式
1. if 語句
如果條件為true時,執行if語句塊中的語句
var a = 1
if a > 0 { println ( a ) } // 輸出 1
注意:和C語言以及Objective-C不一樣,if或者else後面必須帶有括弧,否則編譯器會報錯
2. switch 語句
1)switch語句考察一個值的多種可能性,將它與多個case相比較,從而決定執行哪一個分支的代碼
[objc] view plain copy print ? var a = 1 switch a{ case 0: println("0") case 1: println("1") default: println("other") } //輸出1
[objc] view plain copy print ? 注意:和C以及Objective-C不一樣,switch不再需要break。如上面的代碼,即使沒有break,也只輸出1,而不是輸出“1 other”。另外每個case後面都需要有可執行檔代碼,否則會報錯
2)如果兩個分支執行的是相同的代碼。可以直接寫在一個case裡面,用逗號,隔開
[objc] view plain copy print ? var a = 1 switch a{