iOS经典讲解之Swift分支结构与循环详解

作者:Loving_iOS

转载请标明出处:http://blog.csdn.net/loving_ios/article/details/49340073

本次开发环境为Xcode7.0.1 创建playground文件 进行的代码编写。

// ************************分支语句********************
// if 语句的条件 必须是BOOL值或者BOOL表达式
// BOOL值只能用true false
let isOrNo = true

if isOrNo {
    print("true")
} else {
    print("false")
}

var count:Int? = nil

count = 20
if count > 0 {
    print(count)
    // "\()" 用于拼接变量和字符串
    print("count = \(count!)")
    
} else {
    print(count)
}

// 声明变量的表达式也可作为条件
if let count1 = count {
    print("ok")
} else {
    print("error")
}
// 注意:分支语句原则上一定要保持完整 if else匹配完整


// ***************************循环*************
// while循环
var number = 0
while number < 3 {
    number++
    print("number = \(number)")
}

// do while

repeat {
number++
} while number < 6

// for

for var num = 0; num < 10; num++ {
    print(num)
}

// for 循环条件可以省略 但是分号不能省略
//for ;;{
//    print("循环")
//}

for ; number < 2; {
    print(number)
    number++
}

// for...in 循环 变量可以不声明 只作用于循环作用域中

var arr = [1, 3, 4, 5]

// 可以不指定类型
for num in arr {
    print(num)
}

var dic = ["key":"value"]
for value in dic {
    print(value)
    // 枚举字典时返回一个存放键值的元组 可以通过元组取值规范取值
    value.0
    value.1
    
}

// 使用元组枚举字典时 相当于为元组中的元素命名 可作为局部变量使用
for (key, value) in dic {
    print(key)
    print(value)
}

// 占位符_
// 使用占位符忽略掉不想使用的变量
for (_, value) in dic {
    print(value)
}
for (key, _) in dic {
    print(key)
}

// 区域运算符在循环中的使用
for value in 0..<10 {
    print(value)
}

for value in arr[0...3] {
    print(value)
}

// 分支switch case

var point = (2, 0)

switch point {
case (0, 0):
    print("原点")
case (_, 0):
    print("x轴")
case (0, _):
    print("y轴")
default:
    print("象限内")
}
// 注意:switch 自带break 如果想执行下一分支使用fallthroungh 相当于去掉break
// switch 语句必须包含所有情况


// 值绑定

switch point {
case (0, 0):
    print("原点")
case (let x, 0) where x == 2 || x == 1: // where 可以在分支基础上添加限定条件 当多个条件时 用&& ||
    print("x轴 = \(x)")
case (0, _):
    print("y轴")
default:
    print("象限内")
}

//练习:给定一个字符串 遍历字符串 当遇到元音时跳出循环
var tempStr = "hfjfio"
for strChar in tempStr.characters {
    switch strChar
    {
        case "a", "e", "i", "o", "u":
        print(strChar)
        break
    default:
        print(strChar)
    }
}
// string.Characters取出字符串中的所有字符
// for ... in 循环 和 switch 语句 中的break首先被认定为switch语句中的break 此时需要给循环起个名字 指定break的是循环
// 上面代码写成下面就符合题意了
tempName: for strChar in tempStr.characters {
    
    switch strChar {
        case "a", "e", "i", "o", "u":
        print(strChar)
        break tempName
    default:
        print(strChar)
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值