• Swift的控制转移语句—continue语句

    发布:51Code 时间: 2017-04-24 17:01

  • 控制转移语句能够改变程序的执行顺序,可以实现程序的跳转。Swift有3种控制转移语句: continue、break、fallthrough。 continue语句用来告诉循环体中止现在的操作,然后开始迭代下一个循环...

  • 控制转移语句能够改变程序的执行顺序,可以实现程序的跳转。Swift有3种控制转移语句: continue、break、fallthrough。

           continue语句用来告诉循环体中止现在的操作,然后开始迭代下一个循环。但不会离开循环体。在for-condition-increment循环中,continue语句

           结束本次循环,跳过循环体中尚未执行的语句,接着执行终止条件的判断, 以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。

           在循环体中使用continue语句有两种方式可以带有标签,也可以不带标签。语法格式如下:

           continue // 不带标签

           continue label // 带标签,label是标签名

           下面我们先来学习一下不带标签的continue语句。

      1 |  for i  in 1…10{
             2 |  if i%2==0{
             3 |  continue
             4 |  }
             5 |  print("i的值:(\i)")
             6 | }

    输出结果:
           i的值:1
           i的值:3
           i的值:5
           i的值:7
           i的值:9

           在上述程序代码中,当满足条件i%2==0的时候,则执行continue语句,continue语句会终止本次循环, 循环体中continue之后的语句将不再执行,接着进行下次循环, 所以输出结果中不会出现1到10之间的偶数。

          接下来我们来看一下带标签的continue语句,定义标签的时候后面要跟一个冒号。不带标签的continue语句会终止本次循环。而带标签的continue语句会跳出其后面指定标签语句。

          带标签的continue语句示例代码如下:

      1 |  var index = 0
             2 |  var item = 5
             3 |  labelA: for index in 1..<5{
             4 |  labelB: for item in  2...6{
             5 |      if  item == index {
             6 |          continue labelA
             7 |      }
             8 |      print("(index,item)=\(index,item)")
             9 |  }
           10 |  }

    程序运行结果如下:
           (index,item)=(1, 2)
           (index,item)=(1, 3)
           (index,item)=(1, 4)
           (index,item)=(1, 5)
           (index,item)=(1, 6)
           (index,item)=(3, 2)
           (index,item)=(4, 2)
           (index,item)=(4, 3)

           在不使用表标签的情况下,continue只会跳出最近的内循环也就是第4句代码的for循环,如果要跳出代码第3行的外循环,可以为外循环添加一个标签labelA:,然后在第6行的continue语句后面指定这个标签labelA,这样当条件执行continue语句时 ,程序就会跳转出外循环了。

  • 上一篇:Swift的控制转移语句—fallthrough语句

    下一篇:Swift中switch比较元组类型

网站导航
Copyright(C)51Code软件开发网 2003-2018 , 沪ICP备16012939号-1