流程控制 Control Flow - for-in
- (1)if和switch來建立條件判斷式
- (2)使用for-in, while, 和repeat-while來建立迴圈
- 條件判斷式和迴圈中的小括號()是可以省略的
- 實作範圍(body)的大括號{}不可以省略
let individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
for score in individualScores
{
if score > 50
{
teamScore += 3
print("236行,teamScore:\(teamScore)")
}
else
{
teamScore += 1
print("242行,teamScore: \(teamScore)")
}
}
print("團體分數的加總:\(teamScore)")
以for-in迴圈列出陣列的索引值及元素值
eamScore = 0
for (index,score) in individualScores.enumerated()
{
if score > 50
{
teamScore += 3
}
else
{
teamScore += 1
}
print("第\(index+1)次團體分數的加總:\(teamScore)")
}
print("團體分數的加總:\(teamScore)")
以for-in迴圈”反向”列出陣列
for score in individualScores.reversed()
{
if score > 50
{
teamScore += 3
print("\(score)-團體分數的加總:\(teamScore)")
}
else
{
teamScore += 1
print("\(score)-團體分數的加總:\(teamScore)")
}
}
print("團體分數的加總:\(teamScore)")
以for-in迴圈”反向”列出陣列,加序列
for (index,score) in individualScores.reversed().enumerated()
{
if score > 50
{
teamScore += 3
print("第\(index)次\(score)-團體分數的加總:\(teamScore)")
}
else
{
teamScore += 1
print("第\(index)次\(score)-團體分數的加總:\(teamScore)")
}
}
print("團體分數的加總:\(teamScore)")
迴圈正轉(每次加一)包含上標
for i in 0...9
{
print("迴圈正轉(每次加一)包含上標:\(i)")
}
迴圈正轉(每次加一)包含上標:0
迴圈正轉(每次加一)包含上標:1
迴圈正轉(每次加一)包含上標:2
迴圈正轉(每次加一)包含上標:3
迴圈正轉(每次加一)包含上標:4
迴圈正轉(每次加一)包含上標:5
迴圈正轉(每次加一)包含上標:6
迴圈正轉(每次加一)包含上標:7
迴圈正轉(每次加一)包含上標:8
迴圈正轉(每次加一)包含上標:9
迴圈正轉(每次加一)不含上標
for i in 0..<9
{
print("迴圈正轉(每次加一)不含上標:\(i)")
}
迴圈正轉(每次加一)不含上標:0
迴圈正轉(每次加一)不含上標:1
迴圈正轉(每次加一)不含上標:2
迴圈正轉(每次加一)不含上標:3
迴圈正轉(每次加一)不含上標:4
迴圈正轉(每次加一)不含上標:5
迴圈正轉(每次加一)不含上標:6
迴圈正轉(每次加一)不含上標:7
迴圈正轉(每次加一)不含上標:8
迴圈逆轉(每次減一)包含上標
for i in (0...9).reversed()
{
print("迴圈逆轉(每次減一)包含上標:\(i)")
}
迴圈逆轉(每次減一)包含上標:9
迴圈逆轉(每次減一)包含上標:8
迴圈逆轉(每次減一)包含上標:7
迴圈逆轉(每次減一)包含上標:6
迴圈逆轉(每次減一)包含上標:5
迴圈逆轉(每次減一)包含上標:4
迴圈逆轉(每次減一)包含上標:3
迴圈逆轉(每次減一)包含上標:2
迴圈逆轉(每次減一)包含上標:1
迴圈逆轉(每次減一)包含上標:0
````
## 迴圈逆轉(每次減一)不含上標
```swift
for i in (0..<9).reversed()
{
print("迴圈逆轉(每次減一)不含上標:\(i)")
}
迴圈逆轉(每次減一)不含上標:8
迴圈逆轉(每次減一)不含上標:7
迴圈逆轉(每次減一)不含上標:6
迴圈逆轉(每次減一)不含上標:5
迴圈逆轉(每次減一)不含上標:4
迴圈逆轉(每次減一)不含上標:3
迴圈逆轉(每次減一)不含上標:2
迴圈逆轉(每次減一)不含上標:1
迴圈逆轉(每次減一)不含上標:0
````
## 迴圈正轉(每次加三)包含上標
```swift
for i in stride(from: 0, through: 9, by: 3)
{
print("迴圈正轉(每次加三)包含上標:\(i)")
}
迴圈正轉(每次加三)包含上標:0
迴圈正轉(每次加三)包含上標:3
迴圈正轉(每次加三)包含上標:6
迴圈正轉(每次加三)包含上標:9
迴圈正轉(每次加三)不含上標
for i in stride(from: 0, to: 9, by: 3)
{
print("迴圈正轉(每次加三)不含上標:\(i)")
}
迴圈正轉(每次加三)不含上標:0
迴圈正轉(每次加三)不含上標:3
迴圈正轉(每次加三)不含上標:6
迴圈逆轉(每次減三)包含上標
for i in stride(from: 9, through: 0, by: -3)
{
print("迴圈逆轉(每次減三)包含上標:\(i)")
}
迴圈逆轉(每次減三)包含上標:9
迴圈逆轉(每次減三)包含上標:6
迴圈逆轉(每次減三)包含上標:3
迴圈逆轉(每次減三)包含上標:0
迴圈逆轉(每次減三)不含上標
for i in stride(from: 9, to: 0, by: -3)
{
print("迴圈逆轉(每次減三)不含上標:\(i)")
}
迴圈逆轉(每次減三)不含上標:9
迴圈逆轉(每次減三)不含上標:6
迴圈逆轉(每次減三)不含上標:3