Swift條件語句與循環(huán)

一诵闭、條件語句:

條件語句通過設(shè)定的一個或多個條件來執(zhí)行程序怎披,在條件為真時執(zhí)行指定的語句誉券,在條件為 false 時執(zhí)行另外指定的語句朦蕴。

  1. if語句:
if <#condition#> {
<#code#>
}
  1. if…else語句
if <#condition#> {
<#statements#>
} else {
<#statements#>
}
  1. switch語句:
switch expression {
case expression1  :
statement(s)
case expression2, expression3  :
statement(s)
fallthrough /* 可選 */
default : /* 可選 */
statement(s);
}

注:在大多數(shù)語言中篮条,switch 語句塊中,case 要緊跟 break吩抓,否則 case 之后的語句會順序運行涉茧,而在 Swift 語言中,默認(rèn)是不會執(zhí)行下去的疹娶,switch 也會終止伴栓。如果你想在 Swift 中讓 case 之后的語句會按順序繼續(xù)運行,則需要使用 fallthrough 語句雨饺。

4.? : 運算符

條件運算符 ? :钳垮,可以用來替代if...else語句。它的一般形式如下:

Exp1?Exp2:Exp3

其中额港,Exp1饺窿、Exp2 和 Exp3 是表達(dá)式。請注意移斩,冒號的使用和位置肚医。

? 表達(dá)式的值是由 Exp1 決定的。如果 Exp1 為真叹哭,則計算 Exp2 的值忍宋,結(jié)果即為整個 ? 表達(dá)式的值。如果 Exp1 為假风罩,則計算 Exp3 的值糠排,結(jié)果即為整個 ? 表達(dá)式的值。

二超升、循環(huán)語句

  1. for-in 循環(huán)

遍歷一個集合里面的所有元素入宦,例如由數(shù)字表示的區(qū)間、數(shù)組中的元素室琢、字符串中的字符乾闰。

Swift3.0已經(jīng)廢棄
for (var i = 0; i < 10; i++) {
print(i)
}
for <#item#> in <#items#> {
<#code#>
}

舉三個for循環(huán)的例子:

(1)for in循環(huán)

// 0 到 9,開區(qū)間操作
for i in 0..<10 {
print(i)
}
// 0 到 10:閉區(qū)間操作
print("0 到 10")
for i in 0...10 {
print(i)
}
let someInt = [23,34,4,56,23]
for value in someInt {
print(value)
}

(2)enumerated

for (index, value) in someInt.enumerated() {
print("\(index) = \(value)")
}

(3)可變步長

// 從0到20
for i in stride(from: 0, to: 20, by: 1) {
print(i)
}
// 從20到0
for i in stride(from: 20, to: 0, by: -1) {
print(i)
}
  1. while 循環(huán)

運行一系列語句盈滴,如果條件為true涯肩,會重復(fù)運行轿钠,直到條件變?yōu)閒alse。

while <#condition#> {
<#code#>
}

例:

var i = 10
while i<20 {
print(i)
i+=1
}

3.repeat while循環(huán)

類似 while 語句區(qū)別在于判斷循環(huán)條件之前病苗,先執(zhí)行一次循環(huán)的代碼塊疗垛。

repeat
{
statement(s);
}while( condition );

例:

repeat {
print(i)
i+=1
} while(i < 30)

循環(huán)控制語句改變你代碼的執(zhí)行順序,通過它你可以實現(xiàn)代碼的跳轉(zhuǎn)硫朦。Swift 以下幾種循環(huán)控制語句:

continue:Swift continue語句告訴一個循環(huán)體立刻停止本次循環(huán)迭代贷腕,重新開始下次循環(huán)迭代。對于for循環(huán)咬展,continue語句執(zhí)行后自增語句仍然會執(zhí)行泽裳。對于while和do...while循環(huán),continue語句重新執(zhí)行條件判斷語句破婆。

break:如果您使用的是嵌套循環(huán)(即一個循環(huán)內(nèi)嵌套另一個循環(huán))涮总,break 語句會停止執(zhí)行最內(nèi)層的循環(huán),然后開始執(zhí)行該塊之后的下一行代碼荠割。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末妹卿,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蔑鹦,更是在濱河造成了極大的恐慌,老刑警劉巖箕宙,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚎朽,死亡現(xiàn)場離奇詭異,居然都是意外死亡柬帕,警方通過查閱死者的電腦和手機哟忍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來陷寝,“玉大人锅很,你說我怎么就攤上這事》锱埽” “怎么了爆安?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長仔引。 經(jīng)常有香客問我扔仓,道長,這世上最難降的妖魔是什么咖耘? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任翘簇,我火速辦了婚禮,結(jié)果婚禮上儿倒,老公的妹妹穿的比我還像新娘版保。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布彻犁。 她就那樣靜靜地躺著蹈垢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪袖裕。 梳的紋絲不亂的頭發(fā)上曹抬,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音急鳄,去河邊找鬼谤民。 笑死,一個胖子當(dāng)著我的面吹牛疾宏,可吹牛的內(nèi)容都是我干的张足。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼坎藐,長吁一口氣:“原來是場噩夢啊……” “哼为牍!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起岩馍,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤碉咆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蛀恩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疫铜,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年双谆,在試婚紗的時候發(fā)現(xiàn)自己被綠了壳咕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡顽馋,死狀恐怖谓厘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情寸谜,我是刑警寧澤竟稳,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站程帕,受9級特大地震影響住练,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜愁拭,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一讲逛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧岭埠,春花似錦盏混、人聲如沸蔚鸥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽止喷。三九已至,卻和暖如春混聊,著一層夾襖步出監(jiān)牢的瞬間弹谁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工句喜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留预愤,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓咳胃,卻偏偏與公主長得像植康,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子展懈,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容