Swift學習筆記之邏輯分支與循環(huán)體
分支的介紹
- 分支即if/switch/三目運算符等判斷語句
- 通過分支語句可以控制程序的執(zhí)行流程
1.if
OC
- 后面條件必須加()
- 后面提條件非0即真
- 如果只有一條if后面的大括號可省略
if(a>0)NSlog(@"yes");
Swift
- if 后面不加括號
- if 后面條件必須是明確的Bool類型
- 即使只有一條指令if后面的大括號亦不可省略
if else 的使用與OC一致,只是條件語句后不加括號;三目運算符和OC基本一致;
2.guard
guard 是swift2.0 新增語法
與if語句非常類似,設計目的是提高程序的可讀性
guard語句必須帶有else語句,語法如下
當條件表達式為true時,跳過else語句中的內(nèi)容,執(zhí)行語句組內(nèi)容
當條件表達式為false時 ,執(zhí)行else語句內(nèi)容,跳轉(zhuǎn)語句一般是return,break,continue,throw
//如果一個成年人帶了省份證才能上網(wǎng) func cherk(age:Int hasCard:Bool){ if age >= 18{ if hasCard{ print("老板,開個機") }else{ print("回家拿身份證") } else{ print("未成年不能上網(wǎng)") } } func cherkGuard(age:Int hasCard:Bool){ guard age >= 18 else { print("老板,開個機") return } guard hasCard else { print("回家拿省份證") return } print("未成年不能上網(wǎng)") }
2.switch的基本使用
OC中
- switch后面條件必須加()
- case后面只能跟一個條件
- case會有穿透效果
- 可以不寫default
- default位置可以隨便放
- 在case中定義變量需加大括號,否則作用域會混亂
- 不能判斷對象或浮點類型,只能判斷整數(shù)
Swift中
- switch后面條件可以不加()
- case后面能跟多個條件用逗號隔開
- case不會有穿透效果 要穿透后面加fallthrough
- 不可以不寫default
- default位置必須放最后
- 在case中定義變量不需加大括號
- 能判斷對象或浮點類型,只能判斷整數(shù)
3.switch的特殊使用
區(qū)間匹配
區(qū)間概念:
通常描述的是數(shù)字區(qū)間
半開半閉區(qū)間
閉區(qū)間
let range = 0...10//閉區(qū)間代表區(qū)間0~10 let range1 = 0..<10半開半閉區(qū)間代表區(qū)間0~9
區(qū)間操作:
- 交集:clamped
- 是否重疊:overipas
- 判斷包含:contains
- 是否為空:isEmpty
元組匹配
let point = (10,15) switch point{ case (0,0) print("坐標在原點") case (1...10,1...10)//可在元祖中加上區(qū)間 print("坐標X,Y在1...10之間") case (,0)//可在元祖中加上區(qū)間 print("坐標X在X軸上") default print("其它") }
值綁定
let point = (10,15) switch point{ case (var x,0) print("x=\(x)")//point中的x賦值給x case (10,var y) print("y=\(y)")//point中的y賦值給y case var(x,y) print("x=\(x) y=\(y)")//point中的xy賦值給xy default print("其它") }
根據(jù)條件綁定
let point = (100,10) switch point{ //只有where后面的條件語句表達式為真財賦值并執(zhí)行case后面的語句 case var( x,y) where x > y print("x=\(x) y=\(y)") default print("其它") }
3.for循環(huán)
區(qū)間寫法
for _ in 0..<10{ //_代表忽略的意思 print("xxx") }
4.while循環(huán)與do while循環(huán)
while 循環(huán)
var i =10 while i > 0{ i-=1; print (i) }
do while 循環(huán)
repeat {//swift 中不用do ,do在swift有特殊含義,用于捕捉異常 i +=1 print(i) }while i < 10
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
RxSwift實現(xiàn)替換delegate的方法示例
這篇文章主要給大家介紹了關于RxSwift實現(xiàn)替換delegate的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用RxSwift具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-09-09Swift項目中利用SWRevealViewController實現(xiàn)側滑菜單
這篇文章主要介紹了Swift項目中利用SWRevealViewController實現(xiàn)側滑菜單,需要的朋友可以參考下2015-12-12swift中利用runtime交換方法的實現(xiàn)示例
這篇文章主要給大家介紹了關于swift中利用runtime交換方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-05-05Swift開發(fā)之使用UIRefreshControl實現(xiàn)下拉刷新數(shù)據(jù)及uirefreshcontrol使用
本文給大家介紹使用UIRefreshControl實現(xiàn)下拉刷新數(shù)據(jù),及UIRefreshControl的使用步驟,對本文感興趣的朋友一起學習吧2015-11-11Swift使用CollectionView實現(xiàn)廣告欄滑動效果
這篇文章主要為大家詳細介紹了Swift使用CollectionView實現(xiàn)廣告欄滑動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06