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