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,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 ,s = 0, p = 0;b < 10 && s < 4 && p < 10; p++
        {
            if b == 2
            {
               continue
            }

            println("b是:\(b),\(s),\(p)")
            println("b:\(b++)")
            println("s:\(++s),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:0
        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讲义》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值