1:賦值運算子
與 c 語言和 objective-c 不同,swift 的賦值操作並不返回任何值。所以以下**,更優化了.
if x == y
算術運算子
2:與 c 語言和 objective-c 不同的是,swift 預設情況下不允許在數值運算中出現溢位情況。但是你可以使用 sw ift 的溢位運算子來實現溢位運算(如 a &+ b )。詳情參見:高階運算子-溢位運算子 。
3:加法運算子獨特使用:
「+」也可以用來字串拼接
"hello, " + "world" // 等於 "hello, world"
4:不同於 c 語言和 objective-c,swift 中是可以對浮點數進行求餘的。
8 % 2.5
// 等於 0.5(double)
5:組合賦值運算子
復合賦值運算沒有返回值 。這不同於自增和自減運算子。詳情參見:表示式章節裡有復合運算子的完整列表。
var a = 1
a += 2
// a 現在是 3
let b = a += 2//這類**是錯誤
6: 比較運算子
swift 也提供恒等 === 和不恒等 !== 這兩個比較符來判斷兩個物件是否引用同乙個物件例項。詳情參見:在類與結構.
******************************====
7:空合運算子
定義:空合運算子( a ?? b )將對可選型別 進行空判斷,如果 包含乙個值就進行解封,否則就返回乙個預設值 .
這個運算子有兩個條件:
• 表示式 a必須是optional型別
• 預設值 b的型別必須要和 儲存值的型別保持一致
栗子:
a != nil ? a! : b//上述**使用了三目運算子。當可選型別 a 的值不為空時,進行強制解封( a! )訪問 a 中值,反之當 a 中值為空 時,返回預設值b。
let defaultcolorname = "red"
var userdefinedcolorname: string? //預設值為 nil
var colornametouse = userdefinedcolorname ?? defaultcolorname
// userdefinedcolorname 的值為空,所以 colornametouse 的值為 "red"
8:區間運算子
swift 提供了兩個方便表達乙個區間的值的運算子。
閉區間運算子:
定義:閉區間運算子( a…b )定義乙個包含從 a 到 b (包括 a 和 b )的所有值的區間, b 必須大於等於 a 。
用途:迭代乙個區間的所有值
for index in
1...5
半開區間運算子
定義:半開區間( a..
let names = ["anna", "alex", "brian", "jack"]
let count = names.count
for i in
0..print("第 \(i + 1) 個人叫 \(names[i])") }
8:邏輯運算
• 邏輯非(!a)
• 邏輯與( a && b )
• 邏輯或( a || b )
可以用()來明確優先順序,與其他語言一樣,不多說了
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...
Swift 基本運算子之數值運算
運算子是檢查,改變,合併值的特殊符號或短語.例如,加號 把計算兩個數的和 如 let i 1 2 複雜些的執行算包括邏輯與 如 if entereddoorcode passedretinascan 還有自增運算子 i 這樣讓自身加一的便捷運算。下面介紹基礎運算子中的數值運算。swift 讓所有數值...