循环语句 (for-in, while)
循环语句用于重复执行一段代码,直到满足指定条件。在 Swift 中,常用的循环语句有 for-in 和 while,它们适用于不同的场景。掌握这些循环语句能帮助我们更高效地处理重复性任务。
1. for-in 循环
for-in 循环用于遍历集合(如数组、字典、集合等),或者通过范围生成一系列的数字。它是最常用的循环语句,特别适合用于遍历数组、字典等数据类型。
基础用法
示例:遍历数组
let fruits = ["Apple", "Banana", "Orange"]
for fruit in fruits {
print(fruit)
}
这个例子遍历数组 fruits 中的每个元素,并打印每个水果名称。
示例:遍历字典
let person = ["name": "Alice", "age": "25", "city": "New York"]
for (key, value) in person {
print("\(key): \(value)")
}
该例子遍历字典 person,并打印每个键值对。
使用范围
for-in 循环还可以用来遍历范围,即一系列的数字。
示例:遍历数字范围
for i in 1...5 {
print(i)
}
输出:
1
2
3
4
5
这个循环将从 1 遍历到 5(包括 5)。1...5 表示一个闭区间,包含起始值和结束值。
示例:使用半开区间
for i in 1..<5 {
print(i)
}
输出:
1
2
3
4
1..<5 表示一个半开区间,包含起始值,但不包括结束值。
跳出与继续循环
在 for-in 循环中,您可以使用 break 和 continue 控制循环流程。
- break 用于终止整个循环。
- continue 用于跳过当前循环的剩余部分,继续进行下一次迭代。
示例:使用 break 跳出循环
for i in 1...10 {
if i == 5 {
break // 跳出循环
}
print(i)
}
输出:
1
2
3
4
当 i 等于 5 时,break 语句会跳出整个循环。
示例:使用 continue 跳过当前迭代
for i in 1...5 {
if i == 3 {
continue // 跳过当前迭代
}
print(i)
}
输出:
1
2
4
5
当 i 等于 3 时,continue 跳过该次循环,继续执行后续的迭代。
2. while 循环
while 循环是一种基于条件的循环语句,只要条件为 true,就会持续执行代码块。while 循环适用于在循环前不能确定执行次数的情况。
基础用法
示例:基础 while 循环
var i = 1
while i <= 5 {
print(i)
i += 1
}
输出:
1
2
3
4
5
这个例子使用 while 循环打印数字 1 到 5。每次循环后,i 会加 1,直到条件 i <= 5 不再满足。
重复条件的 while 循环
while 循环条件可以根据需要动态改变。下面是一个倒计时的例子。
示例:倒计时
var countdown = 5
while countdown > 0 {
print(countdown)
countdown -= 1
}
输出:
5
4
3
2
1
在这个例子中,countdown 从 5 开始,每次循环减 1,直到条件 countdown > 0 不再满足。
do-while 循环(重复执行至少一次)
Swift 还支持 do-while 循环,它会至少执行一次循环体,然后再检查条件。do-while 循环的条件是循环结束后才判断的,因此它总会执行一次循环。
示例:do-while 循环
var i = 1
repeat {
print(i)
i += 1
} while i <= 5
输出:
1
2
3
4
5
repeat 块中的代码总是会先执行一次,然后再检查条件。
3. 总结
- for-in 循环:适用于遍历数组、字典、集合和范围。它是最常用的循环结构,代码简洁易懂。
- while 循环:适用于条件未知或需要在循环前判断条件的场景。它只要条件为真,就会持续执行。
- do-while(repeat-while)循环:保证至少执行一次循环体,适用于需要先执行一次再检查条件的情况。
- break 和 continue:用于控制循环的流程,break 用来退出循环,continue 用来跳过当前迭代。
通过熟练掌握这些循环语句,您可以处理各种重复性任务,使代码更加简洁、灵活。
