流程控制

Swift支持的流程控制

循環(huán)結(jié)構(gòu):for 、 for-in 、 while 炊昆、 do-while

選擇結(jié)構(gòu):if 敏晤、 switch

注意點: 這些語句后面一定要跟上大括號{}

跟c語言基本一樣的有

for 贱田、 if 、 while 嘴脾、 do-while

不一樣的有for-in和switch

for-in

(1):for-in
for i in 0...3
{

}
若可以不使用i,可以像下面這樣寫
for _ in 0...3
{

}

switch

注意點:
 swift語句中不使用break湘换,在執(zhí)行完case里面的代碼以后就會退出switch;

switch要保證出力所有可能的情況,不然編譯報錯


2.1:每一個case里面必須有可以執(zhí)行的語句;

2.2:case的多條件匹配
case后面可以填寫多個匹配條件,條件之間用逗號隔開  

let score = 96;
switch score{
case 90,91,92
print("優(yōu)秀")

case 60,,7080:
print("及格")
default:
print("不及格")
}


2.3:case的多條件匹配范圍

let score = 96;
switch score{
case 90...10
print("優(yōu)秀")

case 60...80:
print("及格")
default:
print("不及格")
}

2.4:匹配元祖

let point = (1,1);

switch point {
case (0,0):
    print("點在原點上")
case (_,0):
    print("點在x軸上")
case (0,_):
    print("點在y軸上")
case (-2...2,-2...2):
    print("x在-2到2之間统阿,y在-2到2之間")
default:
    print("其他");
    //下劃線代表忽略這個值,也可以代表是任何值都可以
}

2.5:數(shù)值的綁定

在case匹配的同時筹我,可以將siwtch中的值綁定給一個特定的常量或者變量扶平,一邊在case后面的語句中使用;

let point = (10,0);

switch point {
case (let x,0):
    print("這個點在x軸上蔬蕊,x的值\(x)")
case (0,let y):
    print("這個點在y軸上结澄,y的值\(y)")
case (let x,let y):
    print("這個點在x的值\(x),在y軸上的值\(y)")
}

2.6:switch可以使用where來增加判斷的條件

var point = (10,-10)
switch point {
case let(x,y) where x == y:
    print("------")
case let(x,y) where x == -y:
    print("======")
default:
    print("其他")
}


fallthrough的作用
執(zhí)行完當前的case后,會接著執(zhí)行fallthrough后面的case或者default


let num = 20

var string = "\(num)是個"

switch num {
    
case 0...50:
    string += "0~50之間的"
    fallthrough
default:
    string += "整數(shù)"
}


注意點: fallthrough后面不能定義變量和常量
var point = (10,10)

switch point {
case (0...10,0...10):
    print("------")
case let(x,y) where x==y
    print("---------")//錯誤的
default:
    print("xxxxxx")
}

標簽


使用標簽的其中一個作用:可以用于指定要退出哪一個循環(huán)

for _ in 0...1 {
    for _ in 0...2 {
        print("鍛煉身體")
        break  //退出內(nèi)層循環(huán)
    }
    print("休息十分鐘")
}


group: for _ in 0...1 {
    for _ in 0...2 {
        print("鍛煉身體")
        break group  //執(zhí)行一次就跳出外層循環(huán)
    }
    print("休息十分鐘")
}

guard的使用

guard 表達式 else

    1:當條件表達式為ture時岸夯,執(zhí)行語句組中的內(nèi)容麻献,跳過else語句中的內(nèi)容;
    
    2:當條件表達式為false時,執(zhí)行else語句中的內(nèi)容猜扮,跳轉(zhuǎn)語句一般是return(函數(shù)中使用)勉吻、break(循環(huán)中使用)、continue(循環(huán)中使用)和throw
    
    guard 條件表達式 else{
        //條件語句
        break
    }
    
語句組

例子

var age = 20;


func online(age:Int)->void{

  guard age <= 10 else{
      print"青鉤子娃兒"
    break;
  }
  print("你已不再年輕")
}

online(age)

swift中的do while循環(huán)需要寫成 repeat while

var a = 10
repeat{
    print(a)
    a -= 1
}while a > 0

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旅赢,一起剝皮案震驚了整個濱河市齿桃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌煮盼,老刑警劉巖短纵,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異僵控,居然都是意外死亡香到,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門报破,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悠就,“玉大人,你說我怎么就攤上這事充易±肀埃” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵蔽氨,是天一觀的道長藐唠。 經(jīng)常有香客問我帆疟,道長,這世上最難降的妖魔是什么宇立? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任踪宠,我火速辦了婚禮,結(jié)果婚禮上妈嘹,老公的妹妹穿的比我還像新娘柳琢。我一直安慰自己,他們只是感情好润脸,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布柬脸。 她就那樣靜靜地躺著,像睡著了一般毙驯。 火紅的嫁衣襯著肌膚如雪倒堕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天爆价,我揣著相機與錄音垦巴,去河邊找鬼。 笑死铭段,一個胖子當著我的面吹牛骤宣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播序愚,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼憔披,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了爸吮?” 一聲冷哼從身側(cè)響起活逆,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拗胜,沒想到半個月后蔗候,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡埂软,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年锈遥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勘畔。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡所灸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炫七,到底是詐尸還是另有隱情爬立,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布万哪,位于F島的核電站侠驯,受9級特大地震影響抡秆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吟策,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一儒士、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧檩坚,春花似錦着撩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赂乐,卻和暖如春薯鳍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沪猴。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留采章,地道東北人运嗜。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像悯舟,于是被迫代替她去往敵國和親担租。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

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

  • swift和OC一樣提供了if /switch / for /while /repeat- while語句 if ...
    個位數(shù)余額閱讀 234評論 0 0
  • Swift提供了多種控制流聲明抵怎。包括while循環(huán)來多次執(zhí)行一個任務奋救;if,guard和switch聲明來根據(jù)確定...
    BoomLee閱讀 1,950評論 0 3
  • 在JS中反惕,流程控制語句是非常重要的尝艘,基本功能是條件判斷和循環(huán)操作。 一姿染、if語句 if語句介紹if語句是編程中最常...
    大春春閱讀 747評論 1 1
  • 流程控制語句主要包括:1背亥、條件分支 if else和switchif 表達式{}else{ switch:OC中的...
    闖先生的貓閱讀 297評論 0 1
  • 其實沒有人的生活像表面那么精彩吧。困難要一個一個克服才行啊悬赏,終于忙完這個星期了狡汉,下個星期好好學習,安心復習迎接期中...
    少女心事販賣機閱讀 209評論 0 0