美文网首页
Swift 循环

Swift 循环

作者: 黎明s | 来源:发表于2018-12-03 14:45 被阅读0次

    有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。

    编程语言提供了更为复杂执行路径的多种控制结构。

    循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图:
    https://share.weiyun.com/5ATNk8A

    循环语句流程图.jpg

    循环类型

    Swift 语言提供了以下几种循环类型。点击链接查看每个类型的详细描述:

    • for-in 循环

    Swift for-in 循环用于遍历一个集合里面的所有元素,例如由数字表示的区间、数组中的元素、字符串中的字符。

    Swift for-in 循环的语法格式如下:

    for index in var {
       循环体
    }
    

    流程图:https://share.weiyun.com/5gOZJZL

    for-in 语句流程图.jpg
    实例 1
    import Cocoa
    
    for index in 1...5 {
        print("\(index) 乘于 5 为:\(index * 5)")
    }
    

    例子中用来进行遍历的元素是使用闭区间操作符(...)表示的从1到5的数字区间。以上程序执行输出结果为:

    1 乘于 5 为:5
    2 乘于 5 为:10
    3 乘于 5 为:15
    4 乘于 5 为:20
    5 乘于 5 为:25
    

    实例 2

    import Cocoa
    
    var someInts:[Int] = [10, 20, 30]
    
    for index in someInts {
       print( "index 的值为 \(index)")
    }
    

    以上程序执行输出结果为:

    index 的值为 10
    index 的值为 20
    index 的值为 30
    
    • for 循环

    该循环方式在 Swift 3 中已经弃用。

    用来重复执行一系列语句直到达成特定条件达成,一般通过在每次循环完成后增加计数器的值来实现。

    • while 循环

    Swift while循环从计算单一条件开始。如果条件为true,会重复运行一系列语句,直到条件变为false
    Swift while 循环的语法格式如下:

    while condition
    {
       statement(s)
    }
    

    语法中的 statement(s) 可以是一个语句或者一个语句块。 condition 可以是一个表达式。如果条件为true,会重复运行一系列语句,直到条件变为false。数字 0, 字符串 '0' 和 "", 空的 list(), 及未定义的变量都为 false ,其他的则都为 truetrue 取反使用 !not,取反后返回 false

    流程图:https://share.weiyun.com/5kowLvc

    while 语句流程图.jpg

    实例

    import Cocoa
     
    var index = 10
    
    while index < 20 
    {
       print( "index 的值为 \(index)")
       index = index + 1
    }
    

    以上程序执行输出结果为:

    index 的值为 10
    index 的值为 11
    index 的值为 12
    index 的值为 13
    index 的值为 14
    index 的值为 15
    index 的值为 16
    index 的值为 17
    index 的值为 18
    index 的值为 19
    
    • repeat...while 循环

    Swift repeat...while 循环不像 for 和 while 循环在循环体开始执行前先判断条件语句,而是在循环执行结束时判断条件是否符合。
    Swift repeat...while 循环的语法格式如下:

    repeat
    {
       statement(s);
    }while(condition);
    

    请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。如果条件为 true,控制流会跳转回上面的 repeat,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为 false 为止。数字 0, 字符串 '0' 和 "", 空的 list(), 及未定义的变量都为 false ,其他的则都为 truetrue 取反使用 !not,取反后返回 false
    流程图:https://share.weiyun.com/5u7nkaq

    repeat_while 语句流程图.jpg
    实例:
    import Cocoa
    
    var index = 15
    
    repeat{
        print( "index 的值为 \(index)")
        index = index + 1
    }while index < 20
    

    以上程序执行输出结果为:

    index 的值为 15
    index 的值为 16
    index 的值为 17
    index 的值为 18
    index 的值为 19
    

    循环控制语句

    循环控制语句改变你代码的执行顺序,通过它你可以实现代码的跳转。Swift 以下几种循环控制语句:

    控制语句 描述
    continue 告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代
    break 中断当前循环
    fallthrough 如果在一个case执行完后,继续执行下面的case,需要使用fallthrough关键字
    • continue语句

    Swift continue语句告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。对于 for 循环,continue 语句执行后自增语句仍然会执行。对于 whiledo...while 循环,continue 语句重新执行条件判断语句。
    Swift continue语句的语法格式如下:

    continue
    

    流程图:https://share.weiyun.com/5DqfoIU

    Continue 语句流程图.jpg

    实例

    import Cocoa
     
    var index = 10
    
    repeat{
       index = index + 1
        
       if( index == 15 ){ // index 等于 15 时跳过
          continue
       }
       print( "index 的值为 \(index)")
    }while index < 20 
    

    以上程序执行输出结果为:

    index 的值为 11
    index 的值为 12
    index 的值为 13
    index 的值为 14
    index 的值为 16
    index 的值为 17
    index 的值为 18
    index 的值为 19
    index 的值为 20
    
    • break 语句

    Swift break语句会立刻结束整个控制流的执行。
    如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
    Swift break语句的语法格式如下:

    break
    

    流程图:https://share.weiyun.com/5C3aCPH

    Break 语句流程图.jpg
    实例
    import Cocoa
    
    var index = 10
    
    repeat{
        index = index + 1
        
        if( index == 15 ){  // index 等于 15 时终止循环
            break
        }
        print( "index 的值为 \(index)")
    }while index < 20
    

    以上程序执行输出结果为:

    index 的值为 11
    index 的值为 12
    index 的值为 13
    index 的值为 14
    
    • fallthrough 语句

    Swift fallthrough 语句让 case 之后的语句会按顺序继续运行,且不论条件是否满足都会执行。Swift 中的 switch 不会从上一个 case 分支落入到下一个 case 分支中。只要第一个匹配到的 case 分支完成了它需要执行的语句,整个switch代码块完成了它的执行。

    注意:在大多数语言中,switch 语句块中,case 要紧跟 break,否则 case 之后的语句会顺序运行,而在 Swift 语言中,默认是不会执行下去的,switch 也会终止。如果你想在 Swift 中让 case 之后的语句会按顺序继续运行,则需要使用 fallthrough 语句。

    Swift fallthrough 语句的语法格式如下:

    fallthrough
    

    一般在 switch 语句中不使用 fallthrough 语句。

    实例1
    以下实例没有使用 fallthrough 语句:

    import Cocoa
    
    var index = 10
    
    switch index {
       case 100  :
          print( "index 的值为 100")
       case 10,15  :
          print( "index 的值为 10 或 15")
       case 5  :
          print( "index 的值为 5")
       default :
          print( "默认 case")
    }
    

    当上面的代码被编译执行时,它会产生下列结果:

    index 的值为 10 或 15
    

    实例2
    以下实例使用 fallthrough 语句:

    import Cocoa
    
    var index = 10
    
    switch index {
       case 100  :
          print( "index 的值为 100")
          fallthrough
       case 10,15  :
          print( "index 的值为 10 或 15")
          fallthrough
       case 5  :
          print( "index 的值为 5")
       default :
          print( "默认 case")
    }
    

    当上面的代码被编译执行时,它会产生下列结果:

    index 的值为 10 或 15
    index 的值为 5
    

    相关文章

      网友评论

          本文标题:Swift 循环

          本文链接:https://www.haomeiwen.com/subject/dzdfcqtx.html