算術運算又稱數學運算,是程式設計的基本工作,畢竟電腦”Computer”就是計算機器的意思,電腦能夠做的事情非常多,基本原理就是將所有資料(例如文字、聲音、圖案)「數位化」(轉換為0與1),然後就可以進行數學運算。
而且電腦能一再重複相同的工作也不會累,所以電腦很擅長「重複性」的運算,就是本課要介紹的迴圈(Loop),迴圈非常有用,善用迴圈才能發揮出電腦最大的優勢。
請打開Swift Playgrounds,練習打入以下這段小程式。
// 範例1-2a: 算術運算
// Created by Heman, 2020/06/29
// 迴圈:求1到100整數和
var 總和 = 0
for i in 1...100 {
總和 = 總和 + i
}
print(總和)
這裡的重點是稱為 “for-in” 的迴圈(loop),或簡稱 for 迴圈,這是 Swift 三種迴圈之一,也是最常用的,語法如下:
for <迴圈參數> in <範圍> {
<重複執行的指令>
}
範例中 for i in 1...100 { } ,其中的 i 是一個特別的變數,不需要用 var 宣告,名稱同樣可以任意取,在此稱為「迴圈參數」,這個參數名稱能在迴圈 { } 裡面使用,出了 { } 就失效了。
for 迴圈的<範圍>則用符號 … (三個連續的半形句點) 來界定起始值與終止值。所以 for i in 1...100 {} 的意思就是大括號 { } 裡面的指令會重複執行,第一次 i = 1, 第二次 i = 2,⋯⋯直到最後一次 i = 100,一共執行100次,大括號是用來將一行或多行指令當作一個段落,for 迴圈會重複執行這個段落。
迴圈裡面目前只有一行指令:
總和 = 總和 + i
這個指令可以看出 Swift 的等號(=),跟數學的等號意義不同。數學上,等號兩邊的結果(值)必定相等,但在這裡,顯然不成立。
在 Swift (以及大部分程式語言)裡面,等號(=)是指定(assign)的意思,會先進行等號右邊的運算(或稱為「運算式」),運算結果再指定給等號左邊的變數。
Swift 中比較兩個值是否相等,則用兩個等號(==),後面講「邏輯運算」時會用到。