跳到主要内容

Swift 循环

在编程中,循环是一种重要的控制流结构,它允许我们重复执行一段代码,直到满足特定条件为止。Swift提供了几种循环结构,包括for-inwhilerepeat-while循环。本文将详细介绍这些循环的使用方法,并通过实际案例帮助你理解它们的应用场景。

1. for-in 循环

for-in循环用于遍历一个集合(如数组、字典、范围等)中的所有元素。它的基本语法如下:

swift
for item in collection {
// 执行代码
}

示例:遍历数组

swift
let fruits = ["苹果", "香蕉", "橙子"]

for fruit in fruits {
print("我喜欢吃\(fruit)")
}

输出:

我喜欢吃苹果
我喜欢吃香蕉
我喜欢吃橙子

在这个例子中,for-in循环遍历了fruits数组中的每一个元素,并将其打印出来。

示例:遍历范围

swift
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时重复执行代码块。它的基本语法如下:

swift
while condition {
// 执行代码
}

示例:计数器

swift
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循环类似,但它会先执行一次代码块,然后再检查条件。它的基本语法如下:

swift
repeat {
// 执行代码
} while condition

示例:用户输入验证

swift
var userInput: String

repeat {
print("请输入'yes'以继续:")
userInput = readLine() ?? ""
} while userInput != "yes"

print("感谢您的确认!")

输出:

请输入'yes'以继续:
(用户输入)
感谢您的确认!

在这个例子中,程序会不断提示用户输入,直到用户输入"yes"为止。

备注

repeat-while循环至少会执行一次,即使条件一开始就不满足。

4. 实际应用案例

案例1:计算阶乘

swift
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:猜数字游戏

swift
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-inwhilerepeat-while循环,每种循环都有其特定的使用场景。通过本文的学习,你应该能够:

  • 使用for-in循环遍历集合和范围。
  • 使用while循环在条件为true时重复执行代码。
  • 使用repeat-while循环至少执行一次代码块。

6. 附加资源与练习

练习1

编写一个程序,使用for-in循环打印出1到100之间所有的偶数。

练习2

使用while循环实现一个倒计时程序,从10数到1,并在结束时打印“发射!”。

附加资源

通过不断练习和探索,你将更加熟练地掌握Swift中的循环结构。祝你编程愉快!