swift循环语句和循环控制语句 – Swift最新教程

上一章Swift教程请查看:swift条件语句

当你需要多次执行一个代码块时,可能会出现这种情况,通常,语句是按顺序执行的:先执行函数中的第一个语句,然后执行第二个语句,依此类推。

编程语言提供了各种控制结构,允许更复杂的执行路径。

循环语句允许我们多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式:

swift循环语句

Swift编程语言提供了以下类型的循环来处理循环需求。

编号 循环类型和描述
1 for-in
此循环为范围、序列、集合或级数中的每个项执行一组语句。
2 While循环
当给定条件为真时,重复一个或一组语句。它在执行循环体之前测试条件。
3 repeat…while循环
类似于while语句,只是它在循环体的末尾测试条件。

for-in循环语句

for-in循环遍历项的集合,如数字范围、数组中的项或字符串中的字符。

语法

在Swift编程语言中,for-in循环的语法是-

for index in var {
    statement(s)
 }
for_in循环语句
var someInts:[Int] = [10, 20, 30]

for index in someInts {
   print( "index: \(index)")
}

While循环语句

只要给定条件为真,Swift编程语言中的while循环语句就会重复执行目标语句。

语法

在Swift编程语言中,while循环的语法为−

while condition {
    statement(s)
 }

这里的语句可以是单个语句,也可以是一个语句块。条件可以是任何表达式,当条件为真时,循环迭代。当条件变为false时,程序控制传递到紧接循环之后的行。

数字0、字符串“0”和“”、空列表()和undef在布尔上下文中都为false,其他所有值都为true。否定一个真的值!或not返回一个特殊的假值。

while循环语句

while循环的关键在于循环可能永远不会运行,当条件被测试并且结果为false时,循环体将被跳过,while循环之后的第一个语句将被执行。

例子

var index = 10

while index < 20 {
   print( "index: \(index)")
   index = index + 1
}

这里我们使用比较运算符<来比较变量索引相对于20的值。当index的值小于20时,While循环继续执行它旁边的代码块,当index的值变为20时,它就出来了。

Do…while循环

不像for和while循环在循环的顶部测试循环条件,repeat…while循环在循环的底部检查它的条件。

do……while循环类似于while循环,除了一个repeat…while循环保证至少执行一次。

语法

Swift中repeat…while语法如下:

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

应该注意的是,条件表达式出现在循环的末尾,因此循环中的语句在测试条件之前执行一次。如果条件为真,则控制流跳回repeat,并再次执行循环中的语句,这个过程不断重复,直到给定的条件变为假。

数字0、字符串“0”和“”、空列表()和undef在布尔上下文中都为false,其他所有值都为true,否定一个真的值!或not返回一个特殊的假值。

repeat_while循环

例子

var index = 10

repeat {
   print( "Value: \(index)")
   index = index + 1
}
while index < 20

循环控制语句

循环控制语句改变了正常序列的执行,当执行离开范围时,在该范围中创建的所有自动对象都将被销毁。

Swift支持以下控制语句。

编号 控制语句及说明
1 Continue语句
该语句告诉循环停止正在执行的操作,并在循环的下一次迭代开始时重新开始。
2 Break语句
终止循环语句,并将执行转移到紧随循环之后的语句。
3 Fallthrough语句
fallthrough语句模拟了Swift切换到c风格切换的行为。

Swift continue语句

Swift中的continue语句告诉循环停止正在执行的操作,并在循环的下一次迭代开始时重新开始。

对于For循环,continue语句将导致条件测试并增加循环的执行部分。对于while循环,do……while循环时,continue语句使程序控件传递给条件测试。

continue语句

例子

var index = 10

repeat {
   index = index + 1
   if( index == 15 ){
      continue
   }
   print( "Index: \(index)")
} while index < 20

Swift break语句

C编程语言的break语句−以下两种用法

  • break语句时遇到在一个循环,这个循环是立即终止和恢复程序控制下一条语句后循环。
  • 它可以用于终止switch语句。

如果你正在使用嵌套循环(也就是一个循环内包含另一个循环),那么break语句将停止最内层循环的执行并开始执行下一行的代码块。

语法

在Swift中break语句的语法如下−

break语句

Break语句

例子

var index = 10

repeat {
   index = index + 1
   if( index == 15 ){
      break
   }
   print( "Index: \(index)")
} while index < 20

Swift fallthrough语句

Swift中的switch语句在第一个匹配的case完成时就完成执行,而不是像在C和c++编程语言中那样在后续的case中失败。

switch语句在C和c++中的一般语法如下-

switch(expression){
    case constant-expression :
       statement(s);
       break; /* 可选 */
    case constant-expression :
       statement(s);
       break; /* 可选 */
 
    /* 可以有任意数量的case语句 */
    default : /* 可选 */
       statement(s);
 }

在这里,我们需要使用一个break语句从case语句中取出,否则执行控制将通过匹配的case语句下面可用的后续case语句。

语法

Swift中switch语句的一般语法如下

switch expression {
    case expression1 :
       statement(s)
       fallthrough /* optional */
    case expression2, expression3 :
       statement(s)
       fallthrough /* optional */
 
    default : /* Optional */
       statement(s);
 }

如果我们不使用fallthrough语句,那么程序将在执行匹配的case语句之后从switch语句中出来。我们将通过以下两个示例来说明它的功能。

示例1

下面的例子演示了如何在Swift编程中使用switch语句,而不会出错

var index = 10

switch index {
   case 100 :
      print( "Index: 100")
   case 10,15 :
      print( "Index: either 10 or 15")
   case 5 :
      print( "Index: 5")
   default :
      print( "default case")
}
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?