循环类型
Swift 语言提供了以下几种循环类型。点击链接查看每个类型的详细描述:
循环类型 | 描述 |
for-in | 遍历一个集合里面的所有元素,例如由数字表示的区间、数组中的元素、字符串中的字符。 |
for 循环 | 该循环方式在 Swift 3 中已经弃用。 用来重复执行一系列语句直到达成特定条件达成,一般通过在每次循环完成后增加计数器的值来实现。 |
while 循环 | 运行一系列语句,如果条件为true,会重复运行,直到条件变为false。 |
repeat...while 循环 | 类似 while 语句区别在于判断循环条件之前,先执行一次循环的代码块。 |
循环控制语句
循环控制语句改变你代码的执行顺序,通过它你可以实现代码的跳转。Swift 以下几种循环控制语句:
控制语句 | 描述 |
continue 语句 | 告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。 |
break 语句 | 中断当前循环。 |
fallthrough 语句 | 如果在一个case执行完后,继续执行下面的case,需要使用fallthrough(贯穿)关键字。 |
语法:
Swift for-in 循环用于遍历一个集合里面的所有元素,例如由数字表示的区间、数组中的元素、字符串中的字符。
for index in var {
循环体
}
Swift for 循环用来重复执行一系列语句直到达成特定条件,一般通过在每次循环完成后增加计数器的值来实现。
for init; condition; increment{
循环体
}
参数解析:
- init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
- 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
- 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
- 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。
实例:
import Cocoa
var someInts:[Int] = [10, 20, 30]
for var index = 0; index < 3; ++index {
print( "索引 [\(index)] 对应的值为 \(someInts[index])")
}
Swift while循环从计算单一条件开始。如果条件为true,会重复运行一系列语句,直到条件变为false。
while condition
{
statement(s)
}
语法中的 statement(s) 可以是一个语句或者一个语句块。 condition 可以是一个表达式。如果条件为true,会重复运行一系列语句,直到条件变为false。
数字 0, 字符串 '0' 和 "", 空的 list(), 及未定义的变量都为 false ,其他的则都为 true。true 取反使用 ! 号或 not,取反后返回 false。
import Cocoa
var index = 10
while index < 20
{
print( "index 的值为 \(index)")
index = index + 1
}
Swift repeat...while 循环不像 for 和 while 循环在循环体开始执行前先判断条件语句,而是在循环执行结束时判断条件是否符合。
repeat
{
statement(s);
}while( condition );
请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。
如果条件为 true,控制流会跳转回上面的 repeat,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为 false 为止。
数字 0, 字符串 '0' 和 "", 空的 list(), 及未定义的变量都为 false ,其他的则都为 true。true 取反使用 ! 号或 not,取反后返回 false。
import Cocoa
var index = 15
repeat{
print( "index 的值为 \(index)")
index = index + 1
}while index < 20