運算子是檢查, 改變, 合併值的特殊符號或短語. 例如, 加號 + 把計算兩個數的和(如 let i = 1 + 2). 複雜些的執行算包括邏輯與&&(如 if entereddoorcode && passedretinascan),還有自增運算子 ++i 這樣讓自身加一的便捷運算。下面介紹基礎運算子中的數值運算。
swift 讓所有數值型別都支援了基本的四則運算:
加法 +
減法 -
乘法 *
除法 /
1 + 2 // 等於 3
5 - 3 // 等於 2
2 * 3 // 等於 6
10.0 / 2.5 // 等於 4.0
與c語言和objective-c不同的是,swift預設不允許在數值運算**現溢位情況。但你可以使用 swift 的溢位運算子來達到你有目的的溢位, (如 a &+ b )。 詳情請移步: 溢位運算子。
加法操作 + 也用於字串的拼接:
"hello, " + "world" // 等於 "hello, world"
兩個字元型別或乙個字元型別和乙個字串型別, 相加會生成乙個新的字串型別:
let dog = "?"
let cow = "?"
let dogcow = dog + cow // dogcow 現在是 "??"
1. 求餘運算
求餘運算 a % b 是計算 b 的多少倍剛剛好可以容入 a , 多出來的那部分叫餘數。
注意:求餘運算(%)在其他語言也叫取模運算. 然而嚴格說來, 我們看該運算子對負數的操 作結果, 求餘 比 取模 更合適些。
我們來談談取余是怎麼回事, 計算 9 % 4, 你先計算出 4 的多少倍會剛好可以容入 9 中。
2 倍, 非常好, 那餘數是 1 (用』*'標出)。
在 swift 中這麼來表達
9 % 4 // 等於 1
為了得到 a % b 的結果, %計算了以下等式, 並輸出餘數作為結果:
a=(b×倍數)+餘數
當倍數取最大值的時候, 就會剛好可以容入 a 中。
把 9 和 4 代入等式中, 我們得 1:
9 = ( 4 * 2 ) + 1
同樣的方法, 我來們計算 -9 % 4 :
-9 % 4 //等於-1
把 -9 和 4 代入等式, -2 是取到的最大整數:
-9 = ( 4 * -2 ) + -1
餘數是 -1。
在對負數 -b 求余時, -b 的符號會被忽略. 這意味著 a % b 和 a % -b 的結果是相同的。
2. 浮點數求餘計算
不同於 c 和 objective-c, swift 中是可以對浮點數進行求餘的。
let re = 8.0.truncatingremainder(dividingby: 2.5)
print(re)
這個例子中, 8 除於 2.5 等於 3 餘 0.5, 所以結果是 0.5。
3. 自增和自減運算
和 c 一樣, swift 5 以前也提供了方便對變數本身加 1 或減 1 的自增 ++ 和自減 – 的運算子. 其 操作物件可以是整形和浮點型。
swift 5之後停止了自增和自減的使用,如果想實現該效果**如下:
var i = 0
i += 1 // 現在 i= 1
4. 單目負號
數值的正負號可以使用字首 - (即單目負號) 來切換:
// 單目負號
let three = 3
let minusthree = -three // minusthree 等於 -3
let plusthree = -minusthree // plusthree 等於 3, 或 "負負 3"
單目負號寫在運算元之前, 中間沒有空格。
5. 單目正號
單目正號 + 不做任何改變地返回運算元的值。
let minussix = -6
let alsominussix = +minussix // alsominussix 等於 -6
雖然單目 + 做無用功, 但當你在使用單目負號來表達負數時, 你可以使用單目正號來表 達 正數, 如此你的**會具有對稱美。
Swift 數值運算子
加法 減法 除法 減法 求餘 大部分oc 的運算差不多了 我這裡只說我了解和 oc不一樣的地方,有不全的請各位見諒。1 加法操作可以用來字串拼接 如 hello xiaoming 等於 helloxiaoming 2 求餘這裡的求餘不同於 oc swift 可以對浮點數進行求餘 8 2.5 0.5 ...
Swift 基本運算子
1,zebra 2 true,因為 1 小於 2 3 3 bird 4,dog 4,dog true,因為 4 等於 4,dog 等於 dog blue 1 purple 1 true blue false purple true 錯誤,因為 不能比較布林型別注意 1.bool 不能被比較,也意味著...
Swift 基本基本運算子
swift 1,賦值運算子 swift賦值表示式是沒有值的,不支援連續賦值。2,算術運算子 除數可為0 var f 1 0.0 求餘的結果的正負取決於被除數 3,溢位運算子 根據二進位制來進行計算 var willunderflow uint8.min uint8的最小值 willunderflow...