運算符是一個符號,用于告訴編譯器執(zhí)行一個數學或邏輯運算。
Swift 提供了以下幾種運算符:
本章節(jié)我們將為大家詳細介紹算術運算符、關系運算符、邏輯運算符、位運算符、賦值運算符及其他運算符。
以下表格列出了 Swift 語言支持的算術運算符,其中變量 A 為 10,變量 B 為 20:
運算符 | 描述 | 實例 |
---|---|---|
+ | 加號 | A + B 結果為 30 |
? | 減號 | A ? B 結果為 -10 |
* | 乘號 | A * B 結果為 200 |
/ | 除號 | B / A 結果為 2 |
% | 求余 | B % A 結果為 0 |
++ | 自增 | A++ 結果為 11 |
-- | 自減 | A-- 結果為 9 |
以下為算術運算的簡單實例:
import Cocoa var A = 10 var B = 20 print("A + B 結果為:\(A + B)") print("A - B 結果為:\(A - B)") print("A * B 結果為:\(A * B)") print("B / A 結果為:\(B / A)") A++ print("A++ 后 A 的值為 \(A)") B-- print("B-- 后 B 的值為 \(B)")
以上程序執(zhí)行結果為:
A + B 結果為:30 A - B 結果為:-10 A * B 結果為:200 B / A 結果為:2 A++ 后 A 的值為 11 B-- 后 B 的值為 19
以下表格列出了 Swift 語言支持的比較運算符,其中變量 A 為 10,變量 B 為 20:
運算符 | 描述 | 實例 |
---|---|---|
== | 等于 | (A == B) 為 false。 |
!= | 不等于 | (A != B) 為 true。 |
> | 大于 | (A > B) 為 false。 |
< | 小于 | (A < B) 為 true。 |
>= | 大于等于 | (A >= B) 為 false。 |
<= | 小于等于 | (A <= B) 為 true。 |
以下為比較運算的簡單實例:
import Cocoa var A = 10 var B = 20 print("A == B 結果為:\(A == B)") print("A != B 結果為:\(A != B)") print("A > B 結果為:\(A > B)") print("A < B 結果為:\(A < B)") print("A >= B 結果為:\(A >= B)") print("A <= B 結果為:\(A <= B)")
以上程序執(zhí)行結果為:
A == B 結果為:false A != B 結果為:true A > B 結果為:false A < B 結果為:true A >= B 結果為:false A <= B 結果為:true
以下表格列出了 Swift 語言支持的邏輯運算符,其中變量 A 為 true,變量 B 為 false:
運算符 | 描述 | 實例 |
---|---|---|
&& | 邏輯與。如果運算符兩側都為 TRUE 則為 TRUE。 | (A && B) 為 false。 |
|| | 邏輯或。 如果運算符兩側至少有一個為 TRUE 則為 TRUE。 | (A || B) 為 true。 |
! | 邏輯非。布爾值取反,使得true變false,false變true。 | !(A && B) 為 true。 |
以下為邏輯運算的簡單實例:
import Cocoa var A = true var B = false print("A && B 結果為:\(A && B)") print("A || B 結果為:\(A || B)") print("!A 結果為:\(!A)") print("!B 結果為:\(!B)")
以上程序執(zhí)行結果為:
A && B 結果為:false A || B 結果為:true !A 結果為:false !B 結果為:true
位運算符用來對二進制位進行操作,~,&,|,^分別為取反,按位與與,按位與或,按位與異或運算,如下表實例:
p | q | p & q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
如果指定 A = 60; 及 B = 13; 兩個變量對應的二進制為:
A = 0011 1100 B = 0000 1101
進行位運算:
運算符 | 描述 | 圖解 | 實例 |
---|---|---|---|
& | 按位與。按位與運算符對兩個數進行操作,然后返回一個新的數,這個數的每個位都需要兩個輸入數的同一位都為1時才為1。 | ![]() | (A & B) 結果為 12, 二進制為 0000 1100 |
| | 按位或。按位或運算符|比較兩個數,然后返回一個新的數,這個數的每一位設置1的條件是兩個輸入數的同一位都不為0(即任意一個為1,或都為1)。 | ![]() | (A | B) 結果為 61, 二進制為 0011 1101 |
^ | 按位異或. 按位異或運算符^比較兩個數,然后返回一個數,這個數的每個位設為1的條件是兩個輸入數的同一位不同,如果相同就設為0。 | ![]() | (A ^ B) 結果為 49, 二進制為 0011 0001 |
~ | 按位取反運算符~對一個操作數的每一位都取反。 | ![]() | (~A ) 結果為 -61, 二進制為 1100 0011 in 2's complement form. |
更多建議: