Swift3-05 逻辑控制

控制流的三种基本结构:

顺序结构: 顺序语句有语句序列组成,程序执行时,按照语句顺序,从上而下,一条一条顺序执行
循环结构 循环语句使用同一个语句组根据一定的条件执行若干次
选择结构: 分支语句根据一定的条件决定执行那一部分语句序列 顺序结构不再多说

where 限定匹配条件

switch point {
case (0,0) :
    print("原点")

case (let x,0):
    print("x 轴 \(x)")
case (0,let y):
    print("y 轴  \(y)")
case (let x, let y) where x == y :
    print("x = \(x), y = \(y)")
case  let(x, y ) where x == -y :
    print("x = \(x), y = \(y)")
case (let x, let y):
    print("x = \(x), y = \(y)")
}

if case 简化 switch

let age = 19 
if case 18...20 = age {
    print("青年")
}

// 对 case 增加一个限定条件
if case 18...30 = age, age >= 19 {
    print("青年")
}

for case where

for case let index in 1...100 where index % 7 == 0{
    print(index)
}

for  index in 1...100 where index % 7 == 0{
    print(index)
}

控制转移 break 跳出本层循环体,提前结束循环 。 continue 结束当前循环体,进行下一次循环 fallthrough 执行完当前case 之后 进入下一个 case

while true {
    a += 0.5
    if a == 5.5{
        continue
    }
    sin(a)
    if a > 50{
        break
    }
}

var str = "a"
switch str {
case "a","A":
    print("A")
    fallthrough //执行完之后 ,跳入下一个 case 语句
case "b":
    print("B")
    fallthrough //执行完之后 ,跳入下一个 case 语句
default:
    print("C")
}

//给 for 循环加一个名字,可以使用 break 结束这个循环。 谨慎使用。
findanswer:for x in 1...300{
    for y in 1...300{
        print(x, y)
        if x == 4,y == 5 {
            break findanswer
        }

    }
}
```

guard 关键字守护 guard bool condition else

func buyComputer(money:Int, price:Int, brand:String){
    guard money > price else {
        print("钱不够")
        return
    }

    guard brand == "Apple" else {
        print("不是苹果电脑")
        return
    }
}
buyComputer(money: 9000, price: 6000, brand: "Sony")