微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift流程控制

1.if分支结构
2.switch case
3.while,do while
4.for循环,for in专门负责遍历字符串,范围,序列和集合等包含的元素

var a :Int? = 5
        if a != nil
        {
            println("a为非空")
        }
        else
        {
            println("a为空")
        }

        //使用if else 语句时一定要处理包括范围更小得情况
        //switch贯穿特定的case块
        var num = 4
        var des = "数值是\(num)是"
        switch num
        {
        case 2,3,4,6:
            des += "质数,还是"
            fallthrough
        default:
            des += "整数"
        }

        println(des)//数值是4是质数,还是整数

        //switch的范围匹配,61...100(包括61和100)
        var score = 100
        switch score
        {
        case 61...100:
            println("优秀")
        default:
            println("其它")
        }
        //grade会接收score1的值,并且grade会匹配所有剩下的值,因此不在需要default
        var score1 = 100
        switch score1
        {
        case 61...100:
            println("优秀")
        case let grade:
            println("其它\(grade)")
        }

        //循环语句while,do while循环,先循环在判断循环条件
        var count = 0
        while count < 10
        {
            println("\(count)")
            count++
        }
        println("循环结束\(count)")

        var count1 = 0
        do
        {
        count1++
        println("\(count1)")
        }
        while count1 > 5
        println("结束")

        /*循环结果 0,0 b:0 s:1,p:0 1,1,1 b:1 s:2,p:1 2,2,2 b:2 s:3,p:2 3,3,3 b:3 s:4,p:3 */
        for var b = 0,s = 0,p = 0;b < 10 && s < 4 && p < 10; p++
        {
            println("\(b),\(s),\(p)")
            println("b:\(b++)")
            println("s:\(++s),p:\(p)")
        }

        for var b = 0,p = 0;b < 10 && s < 4 && p < 10; p++
        {
            if b == 2
            {
               continue
            }

            println("b是:\(b),p:\(p)")
        }


        //for循环可以将初始化条件定义到循环体之外
        var count2 = 0
        // for循环里只放循环条件
        /* 结果 count20 count21 count22 */
        for ;count2 < 10;
        {
            if count2 == 3
            {
// continue//当等于3时,忽略本次循环,循环还会继续
                break
            }
           println("count2\(count2++)")
        }

        var textname = "text.org"
        for a in textname
        {
            println(a)
        }
        //只是想通过字符串的长度确定循环次数,可以用_代替常量
        for _ in textname
        {
            println("厉害")
        }
        //for in 可以用于遍历范围,数组,字典等集合
        var max = 7
        for num in 1...max
        {
            println("\(num)")
        }

      //break 既可以终止所在的循环,还可以直接结束外层循环,可以给外层循环添加outer标签,终止外层循环
        //结果i:0,j:0/i:0,j:1
        outer: for var i = 0 ; i < 5 ; i++
        {
            for var j = 0; j < 4; j++
            {
                println("i:\(i),j:\(j)")
                if j == 1
                {
                    //跳出outer标签所标识的循环
                    break outer
                }
            }
        }
        /*i:0,j:0 i:0,j:1 i:0,j:1 i:1,j:0 i:1,j:1 i:2,j:0 i:2,j:1 i:3,j:0 i:3,j:1 i:4,j:0 i:4,j:1 */
        for var i = 0 ; i < 5 ; i++
        {
            for var j = 0; j < 4; j++
            {
                println("i:\(i),j:\(j)")
                if j == 1
                {

                    break
                }
            }
        }
 //通过return结束的是整个函数方法,不论return处于多少层循环之内

来自《疯狂Swift讲义》

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐