Swift基本運算符_2

術語

運算符分為一元励两,二元,三元運算符

  • 一元運算符對單一操作對象進行操作(如-a)堡称,一元運算符又分前置前置運算符和后置運算符撵彻,前置運算符緊跟操作對象之前(如!b),后置運算符緊跟操作運算符之后(如c!)
  • 二元運算符操作兩個對象(如2+3)您单,是中置的斋荞,放在兩個操作對象中間
  • 三元運算符,和c語言一樣虐秦,swift只有一種三元運算符平酿,就是三目運算符(a?b:c)

受運算符影響的較操作數(shù)凤优,在表達式1+2中,+就是運算符蜈彼,12就是操作數(shù)

賦值運算符

賦值運算符a=b筑辨,表示用b的值來初始化或者更新a
a=b不返回任何值

算術運算符

swift中所有的數(shù)值類型都支持來基本的四則算術運算符

  • 加法(+)
  • 減法(-)
  • 乘法(*)
  • 除法(/)

加法運算符可以拼接字符串

var addStr = "i am" + "Edison"

求余運算符

求余運算符(a%b)是計算 b的多少倍剛好可以容下a,返回多出來的那部分(余數(shù))

注意:
求余運算符(%)在其他語言也叫取模運算符柳刮。但是嚴格說來挖垛,我們看該運算符對負數(shù)的操作結果,「求余」比「取谋牛」更合適些

9 % 4    // 等于 1

為了得到a % b的結果痢毒,% 計算了以下等式,并輸出余數(shù)作為結果:

a = (b × 倍數(shù)) + 余數(shù)

在對負數(shù) b 求余時蚕甥,b 的符號會被忽略哪替。這意味著 a % ba % -b 的結果是相同的

組合賦值運算符

跟c語言一樣,Swift 也提供把其他運算符和賦值運算(=)組合的組合賦值運算符菇怀,組合加運算(+=)(-=) 等等

復合賦值運算沒有返回值凭舶,所以let b = a+=5是錯誤的

比較運算符

原標準的c語言中的比較運算符都可以在swift中使用

  • 等于 ==
  • 不等于 !=
  • 大于 >
  • 小于 <
  • 大于等于 >=
  • 小于等于 <=

每個比較運算都返回了一個標識表達式是否成立的布爾值

比較運算多用于條件語句,如if條件

空合運算符

空合運算符(a ?? b) 將對可選類型a進行空判斷爱沟,如果a包含一個值就進行解封帅霜,否則就返回一個默認值b,表達式a必須是optional類型呼伸,默認值b的類型必須要對a儲存值的類型保持一致

空合運算符是對一下代碼的簡短表達方式

a  !=  nil ? a! : b

上述代碼使用了三目運算符身冀。當可選類型a的值不為空時,進行強制解封(a!)括享,訪問 a 中的值搂根;反之返回默認值 b。無疑空合運算符(??)提供了一種更為優(yōu)雅的方式去封裝條件判斷和解封兩種行為铃辖,顯得簡潔以及更具可讀性

區(qū)間運算符

閉區(qū)間運算符

閉區(qū)間運算符(a...b) 定義了一個包含 從ab(包括ab)的所有值的區(qū)間剩愧,a的值不能超過b的值,閉區(qū)間運算符在迭代一個區(qū)間的所有值時是非常有用的娇斩,如在 for-in 循環(huán)中:

for index in 1...6 {
    
    print(index)
}

上面的例子中仁卷,index 是一個每次循環(huán)遍歷開始時被自動賦值的常量。這種情況下犬第,index在使用前不需要聲明五督,只需要將它包含在循環(huán)的聲明中,就可以對其進行隱式聲明瓶殃,而無需使用let 關鍵字聲明。

如果你不需要區(qū)間序列內(nèi)每一項的值副签,你可以使用下劃線(_)替代變量名來忽略這個值:

let base = 3
let power = 10
var answer = 1
for _ in 1...power {
    answer *= base
}
print("\(base) to the power of \(power) is \(answer)")
// 輸出 "3 to the power of 10 is 59049"
半開區(qū)間運算符

半開區(qū)間運算符(a..<b)定義一個從ab但不包括b?的區(qū)間
之所以稱為半開區(qū)間遥椿,是因為該區(qū)間包含第一個值而不包括最后的值基矮。
半開區(qū)間的實用性在于當你使用一個從 0 開始的列表(如數(shù)組)時,非常方便地從0數(shù)到列表的長度

let names = ["Anna", "Alex", "Brian", "Jack"]
let count = names.count
for i in 0..<count {
    print("第 \(i + 1) 個人叫 \(names[i])")
}
// 第 1 個人叫 Anna
// 第 2 個人叫 Alex
// 第 3 個人叫 Brian
// 第 4 個人叫 Jack

單側區(qū)間

閉區(qū)間操作符有另一個表達形式冠场,可以表達往一側無限延伸的區(qū)間 —— 例如家浇,一個包含了數(shù)組從索引 2 到結尾的所有值的區(qū)間。在這些情況下碴裙,你可以省略掉區(qū)間操作符一側的值钢悲。這種區(qū)間叫做單側區(qū)間,因為操作符只有一側有值

let names = ["Anna", "Alex", "Brian", "Jack","Fucy","Nacy","Lugy"]
let count = names.count
for j in [...4] {

    print(names[j])
}
/*
["Anna", "Alex", "Brian", "Jack", "Fucy"]
*/
let names = ["Anna", "Alex", "Brian", "Jack","Fucy","Nacy","Lugy"]
let count = names.count
for j in [1...] {

    print(names[j])
}
/*
["Alex", "Brian", "Jack", "Fucy", "Nacy", "Lugy"]
*/

半開區(qū)間操作符也有單側表示形式
[..<2] [..<2]

邏輯運算符

  • 邏輯非(!a)
  • 邏輯與(a && b)
  • 邏輯或(a || b)
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末舔株,一起剝皮案震驚了整個濱河市莺琳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌载慈,老刑警劉巖惭等,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異办铡,居然都是意外死亡辞做,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門寡具,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秤茅,“玉大人,你說我怎么就攤上這事童叠】蛟” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵拯钻,是天一觀的道長帖努。 經(jīng)常有香客問我,道長粪般,這世上最難降的妖魔是什么拼余? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮亩歹,結果婚禮上匙监,老公的妹妹穿的比我還像新娘。我一直安慰自己小作,他們只是感情好亭姥,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顾稀,像睡著了一般达罗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天粮揉,我揣著相機與錄音巡李,去河邊找鬼。 笑死扶认,一個胖子當著我的面吹牛侨拦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辐宾,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼狱从,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了叠纹?” 一聲冷哼從身側響起季研,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吊洼,沒想到半個月后训貌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡冒窍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年递沪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片综液。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡款慨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谬莹,到底是詐尸還是另有隱情檩奠,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布附帽,位于F島的核電站埠戳,受9級特大地震影響,放射性物質發(fā)生泄漏蕉扮。R本人自食惡果不足惜整胃,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望喳钟。 院中可真熱鬧屁使,春花似錦、人聲如沸奔则。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽易茬。三九已至酬蹋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背除嘹。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工写半, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人尉咕。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像璃岳,于是被迫代替她去往敵國和親年缎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容