Swift 循环
在编程中,循环是一种重要的控制流结构,它允许我们重复执行一段代码,直到满足特定条件为止。Swift提供了几种循环结构,包括for-in
、while
和repeat-while
循环。本文将详细介绍这些循环的使用方法,并通过实际案例帮助你理解它们的应用场景。
1. for-in 循环
for-in
循环用于遍历一个集合(如数组、字典、范围等)中的所有元素。它的基本语法如下:
for item in collection {
// 执行代码
}
示例:遍历数组
let fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits {
print("我喜欢吃\(fruit)")
}
输出:
我喜欢吃苹果
我喜欢吃香蕉
我喜欢吃橙子
在这个例子中,for-in
循环遍历了fruits
数组中的每一个元素,并将其打印出来。
示例:遍历范围
for number in 1...5 {
print("当前数字是 \(number)")
}
输出:
当前数字是 1
当前数字是 2
当前数字是 3
当前数字是 4
当前数字是 5
这里,1...5
表示一个闭区间范围,循环会依次遍历1到5之间的所有整数。
你可以使用stride(from:to:by:)
函数来遍历一个步进范围。例如,stride(from: 0, to: 10, by: 2)
会生成0, 2, 4, 6, 8。
2. while 循环
while
循环在条件为true
时重复执行代码块。它的基本语法如下:
while condition {
// 执行代码
}
示例:计数器
var count = 0
while count < 5 {
print("计数: \(count)")
count += 1
}
输出:
计数: 0
计数: 1
计数: 2
计数: 3
计数: 4
在这个例子中,while
循环会一直执行,直到count
的值不再小于5。
在使用while
循环时,务必确保循环条件最终会变为false
,否则会导致无限循环。
3. repeat-while 循环
repeat-while
循环与while
循环类似,但它会先执行一次代码块,然后再检查条件。它的基本语法如下:
repeat {
// 执行代码
} while condition
示例:用户输入验证
var userInput: String
repeat {
print("请输入'yes'以继续:")
userInput = readLine() ?? ""
} while userInput != "yes"
print("感谢您的确认!")
输出:
请输入'yes'以继续:
(用户输入)
感谢您的确认!
在这个例子中,程序会不断提示用户输入,直到用户输入"yes"
为止。
repeat-while
循环至少会执行一次,即使条件一开始就不满足。
4. 实际应用案例
案例1:计算阶乘
func factorial(of number: Int) -> Int {
var result = 1
for i in 1...number {
result *= i
}
return result
}
print("5的阶乘是 \(factorial(of: 5))")
输出:
5的阶乘是 120
在这个案例中,我们使用for-in
循环计算了一个数的阶乘。
案例2:猜数字游戏
import Foundation
let targetNumber = Int.random(in: 1...100)
var guess: Int
repeat {
print("猜一个1到100之间的数字:")
guess = Int(readLine() ?? "") ?? 0
if guess < targetNumber {
print("太小了!")
} else if guess > targetNumber {
print("太大了!")
}
} while guess != targetNumber
print("恭喜你,猜对了!")
输出:
猜一个1到100之间的数字:
(用户输入)
太小了!
猜一个1到100之间的数字:
(用户输入)
太大了!
猜一个1到100之间的数字:
(用户输入)
恭喜你,猜对了!
在这个案例中,我们使用repeat-while
循环实现了一个简单的猜数字游戏。
5. 总结
Swift提供了多种循环结构,包括for-in
、while
和repeat-while
循环,每种循环都有其特定的使用场景。通过本文的学习,你应该能够:
- 使用
for-in
循环遍历集合和范围。 - 使用
while
循环在条件为true
时重复执行代码。 - 使用
repeat-while
循环至少执行一次代码块。
6. 附加资源与练习
练习1
编写一个程序,使用for-in
循环打印出1到100之间所有的偶数。
练习2
使用while
循环实现一个倒计时程序,从10数到1,并在结束时打印“发射!”。
附加资源
通过不断练习和探索,你将更加熟练地掌握Swift中的循环结构。祝你编程愉快!