Swift程序中的语句是顺序执行的,除非由一个for、while、do-while、if、switch语句或者是一个函数调用将流程导向到其他地方去做其他的事情。
Swift提供了两种for循环方式
1)for-in循环: 对于数据范围、序列、集合等中的每一个元素,都执行了一次
2)for-condition-increment:一直执行,直到一个特定地条件满足,每一次循环执行,都会增加一次计数
示例代码:
for index in 1...5 {
//通过使用...来表示序列
print("\(index) times 5 is \(index * 5)") //index在每一次循环开始时被赋值,每次都被隐式地被定义,就像使用了let关键词一 //样,在这里,index是一个常量
}
如果不需要序列中地每一个值,可以使用**"_"来忽略它,这样仅仅只是使用循环体本身**,示例代码如下:
let base = 3
let power = 10
var answer = 1
for _ in 1...power {
answer *= base
}
在Swift程序中,for-in除了遍历数组也可以用来遍历字典,示例代码如下:
let interestingNumbers = [
"Prime": [2, 3, 4],
"Square":[4, 9, 16],
]
var largest = 0
for (kind, numbers) in interestingNumbers {
for number in numbers {
if number > largest {
largest = number
}
}
}
continue语句默认的操作范围是直接包含它的这一层循环结构,break语句是中断语句,其也可以用于循环结构中,和continue语句不同的是,break语句会直接中断直接包含它的循环结构.
Swift程序同样支持C语言样式地for循环,它也包括了一个条件语句和一个增量语句,具体格式如下所示:
for initialization; condition; increment {
statements
}
分号用来分隔for循环地3个结构,和C语言一样,但是不需要用括号来包裹它们,示例代码如下:
for var index = 0; index <= 2; ++index {
//循环结束的时候,index的值为3
print("index is \(index)")
}
// 输出结果为:
index is 0
index is 1
index is 2
while循环执行一系列代码块,直到某个条件为false为止。这种循环常用于循环的次数不确定的情况。Swift提供了两种while循环方式:
1)while循环:在每次循环开始前测试循环条件是否成立
2)do-while循环:在每次循环开始之后测试循环条件是否成立
while循环由一个条件语句开始,如果条件语句为true,一直执行,直到条件语句变为false,下面是一个while循环的一般形式:
while condition {
statements
}
在do-while循环中,循环体中的语句会先被执行一次,然后才开始检测循环条件是否被满足,下面是do-while循环的一般形式:
do {
statements
} while condition
代码示例:
// while循环
var n = 2
while n < 100 {
n = n * 2
}
// do-while循环
var m =2
do {
m = m * 2
} while m < 100