在OC的基础之上学习Swift:逻辑分支

写在前面:逻辑分支即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("不合理的分数")
}

你可能感兴趣的:(在OC的基础之上学习Swift:逻辑分支)