}
// H
// e
// l
// l
// o
For-Condition-Increment For-条件-递增
除了for-in循环,Swift还支持传统C语言按条件递增的for循环
复制代码for var index = 0; index < 3; ++index {
println("index is (index)")
}
// index is 0
// index is 1
// index is 2
这是常用的形式:
复制代码
for <initialization>; <condition>; <increment> {
<statements>
}
封号把循环定义隔为了三个部分,跟C语言一样。然而与C不同的是,Swift不需要用括号把 “初始化; 条件; 增量” 的代码块包起来。
循环按照下面流程执行:
1.当循环第一次进入,initialization expression(初始化表达式)计算一次,设置好循环所需的常量或者变量。
2.计算condition expression(条件表达式)。如果计算结果为false(假),循环终止,并继续执行for循环尾括号(})后面的代码。如果结果为(true)真,则执行循环体大括号内的代码。
3.在所有的语句执行完后,计算increment expression(增量表达式)。计数器可能递增或递减,也可能根据语句执行的结果将初始化变量设为新的值。计算完增量表达式返回到第2步,条件表达式再次被计算。
上面描述的循环体的形式和执行过程可以简单的等同于:
复制代码<initialization>
while <condition> {
<statements>
<increment>
}
常量和变量在初始化表达式中的声明(比如var index = 0)只在for循环自己内部有效。如果需要知道index最终的值,必须在循环开始前声明index:
复制代码var index: Int
for index = 0; index < 3; ++index {
println("index is (index)")
}
// index is 0
// index is 1
// index is 2
println("The loop statements were executed (index) times")
// prints "The loop statements were executed 3 times"
注意,循环完成后index最终的值是3,不是2。最后一次执行增量表达式调用了++index,把index设为3,使得index<3等于false,循环结束。








