写在前面:逻辑分支即if/switch/三目运算等判断语句,通过分支语句控制程序的执行流程。另外,Swift新增加了一个guard判断语句
1.if分支语句
先看一段Swift代码,结合你所了解的OC,再进行总结
let score = 87
if score < 60 {
print("不及格")
}else{
print(不及格")
}
// 错误写法
// if score {
// print(score)
// }
总结:和OC中的if语句,Swift中if语句
a.判断条件可以不加()
b.在Swift的判断句中必须有明确的真假,不再有非0即真,必须有明确 的Bool值,Bool有两个取值:false/true
2.三目运算符
Swift中的三目运算保持了和OC一致的风格
var a = 100
var b = 88
var result = a > b ? a : b
print(result)
3.guard的使用
a.guard是Swift2.0新增的语法
b.它与if语句非常类似,它设计的目的是提高程序的可读性
c.guard语句必须带有else语句,它的语法如下:
当条件表达式为true时候跳过else语句中的内容,执行语句组内容
条件表达式为false时候执行else语句中的内容,跳转语句一般是 return、break、continue和throw
表达式:
guard 条件表达式 else {
表达式不成立走的语句
break/continue/return
}
表达式成立继续的语句
eg:
var age = 18
func online(age : Int) -> Void {
guard age >= 18 else {
print("回家去")
return
}
print("可以上网")
}
online(age)
4.switch分支
switch与OC的区别:
基本用法和OC用法一致;case后可以不跟break(默认会有break),一个case判断中,可以判断多个值用逗号,隔开;如果希望出现之前的case穿透,则可以使用关键字fallthrough
除此之外,swift还支持多种数据类型
浮点型的switch判断
let f = 3.14
switch f {
case 3.14:
print("π")
default:
print("not π")
}
switch可以判断字符串
let m = 20
let n = 30
let opration = "+"
var result = 0
switch opration {
case "+":
result = m + n
case "-":
result = m - n
case "*":
result = m * n
case "/":
result = m / n
default:
print("非法操作符")
}
switch可以判断区间
swift中的区间常见有两种
开区间:0..<10 表示:0~9,不包括10
闭区间:0...10 表示:0~10
let score = 93
switch score {
case 0..<60:
print("不及格")
case 60..<80:
print("及格")
case 80..<90:
print("良好")
case 90...100:
print("不错噢")
default:
print("不合理的分数")
}