Swift中的條件操作和迴圈

2021-09-22 21:50:03 字數 2229 閱讀 8758

在swift中,使用if和switch語句來進行條件操作,使用for-in、for、while和repeat-while語句來進行迴圈。在if語句中,條件必須是乙個布林表示式。例如,我們可以編寫如下的if和for語句:

let height = [155, 180, 160, 170, 163, 178]

var heightflag = 0

for (oneheight) in (height) else

}print(heightflag)

上面的**定義了乙個由6個元素組成的陣列height,通過乙個for迴圈來遍歷這個陣列,並用if語句來判斷陣列中的各個元素值是否大於170,如果是,則將heightflag變數的值加上2,否則,將heightflag變數的值加上1。

條件操作語句中的包裹條件和迴圈語句中的迴圈變數括號可以省略,但是語句體的大括號是不能省略的。也就是說,上面的**可以改寫為:

let height = [155, 180, 160, 170, 163, 178]

var heightflag = 0

for oneheight in height else

}print(heightflag)

在for迴圈中,使用..《建立的範圍不包含上界,如果想包含上界的話需要使用…。如下**所示:

var sum = 0

for i in 1..<5

print(sum)

var count = 1

for j in 1...5

print(count)

在swift中,乙個變數可能有乙個具體的值,或者是nil。可以將if和let結合起來處理值缺失的情況,這些值可由可選值來代表。在型別的後面加乙個問號來標記這個變數的值是可選的。如下**所示:

var optionalstring: string? = "hello"

print(optionalstring == nil)

var optionalname: string? = "zzx"

var greeting = "good morning, "

iflet name = optionalname else

print(greeting)

在上面的**中,我們首先定義了乙個可選的變數optionalstring,並通過print來判斷這個可選的變數的值是否為nil;接著,我們定義了乙個可選的變數optionalname及變數greeting,如果optionalname的值不為nil,那麼這個值會被賦給常量name,在大括號中的**就可以使用這個值,如果optionalname的值為nil,那麼變數greeting的值就為「nice to meetyou!」。

另一種處理可選值的方法是通過使用??(兩個問號)操作符來提供乙個預設值;如果可選值缺失的話,可以使用預設值來代替。

作為一類非常靈活的條件操作語句,switch支援任意型別的資料以及各種比較操作。此外,在switch中匹配到子句之後,程式會退出switch語句的執行,並不會繼續向下執行,所以不需要在每個子句結尾處新增break語句。如下**所示:

let phone = "iphone 7"

switch phone

可以使用for-in語句來遍歷字典,需要兩個變數來表示每個鍵值對。字典是乙個無序的集合,所以它的鍵和值以任意順序迭代結束。如下**所示:

let studentscores = [

"wang": [93, 44, 55, 64, 56, 78],

"li": [87, 99, 24, 63, 85, 98],

"liu": [78, 49, 89, 86, 65],

]var largest = 0

for (name, scores) in studentscores

}}print(largest)

使用while語句來重複執行一段**直到不滿足條件,如下**所示:

var i = 1

while

i< 200

print(i)

當然,迴圈條件也可以在結尾,保證迴圈體能至少執行一次。如下**所示:

var i = 1

repeat

while

i< 200

print(i)

swift中的迴圈語句

swift 中的迴圈語句主要有以下幾種型別1 for語句,遍歷乙個集合裡面的所有元素,例如由數字表示的區間 陣列中的元素 字串中的字元。2 for.in 語句,用來重複執行一系列語句直到達成特定條件達成,一般通過在每次迴圈完成後增加計數器的值來實現。3 while 語句,執行一系列語句,如果條件為 ...

React中實現定時操作和時間間隔內迴圈操作

componentdidmount componentwillreceiveprops props 2000 else 最近,在專案中用到了乙個功能,就是進入乙個頁面,進行數字動態的滾動,當時只顧著去想一些動畫的效果了,所以花一點時間,後來自己上網找了一下,發現這個方法挺好的。1.在乙個設定的時間間...

swift中的檔案操作

自從學習了ios的新語言就感覺乙個更加有趣的世界開啟了,它的橫空出世必定會帶來一番腥風血雨。這次就談談swift中關於檔案的操作,記憶中學習swift差不多乙個月就可以上手些專案了,比較深的體會是它物件導向的語言特徵更加刻骨。有oc基礎的童靴學習swift是不在話下的,不過它還是有很多強大的東西是你...