2.基本運(yùn)算符

因?yàn)槭菍?duì)學(xué)習(xí)成果的記錄,因?yàn)橹拔揖褪亲鰋c開發(fā)的,所以就一些其他語言通用的,在這里就不累贅

只寫一些不常見的,或者是swift專屬的

知識(shí)普及:運(yùn)算符

運(yùn)算符分為一元、二元和三元運(yùn)算符:

一元運(yùn)算符對(duì)單一操作對(duì)象操作(如?-a)。一元運(yùn)算符分前置運(yùn)算符和后置運(yùn)算符,前置運(yùn)算符需緊跟在操作對(duì)象之前(如?!b),后置運(yùn)算符需緊跟在操作對(duì)象之后(如?c!)。

二元運(yùn)算符操作兩個(gè)操作對(duì)象(如?2 + 3),是中置的,因?yàn)樗鼈兂霈F(xiàn)在兩個(gè)操作對(duì)象之間。

三元運(yùn)算符操作三個(gè)操作對(duì)象,和 C 語言一樣,Swift 只有一個(gè)三元運(yùn)算符,就是三目運(yùn)算符(a ? b : c)。

受運(yùn)算符影響的值叫操作數(shù),在表達(dá)式?1 + 2?中,加號(hào)?+?是二元運(yùn)算符,它的兩個(gè)操作數(shù)是值?1?和?2。

賦值運(yùn)算符(=)、算術(shù)運(yùn)算符(+-*/)、求余運(yùn)算符(%)、一元負(fù)號(hào)運(yùn)算符(-)、一元正號(hào)運(yùn)算符(+)、組合賦值運(yùn)算符(+= 、-=、 *=、 /=)、比較運(yùn)算符(== 、!=、>、<、>=、<= 、 ===、 !==)、三元運(yùn)算符(?:)、邏輯運(yùn)算符(|| 、&& 、?。翰蛔鲑樖?,不明白可以自行百度


知識(shí)點(diǎn)1:元組的比較

如果兩個(gè)元組的元素相同,且長(zhǎng)度相同的話,元組就可以被比較。比較元組大小會(huì)按照從左到右、逐值比較的方式,直到發(fā)現(xiàn)有兩個(gè)值不等時(shí)停止。如果所有的值都相等,那么這一對(duì)元組我們就稱它們是相等的

(1,"zebra") < (2,"apple")// true,因?yàn)?1 小于 2?
(3,"apple") < (3,"bird")// true,因?yàn)?3 等于 3,但是 apple 小于 bird
(4,"dog") == (4,"dog")// true,因?yàn)?4 等于 4,dog 等于 dog
("blue", false) < ("purple", true) // 錯(cuò)誤,因?yàn)?< 不能比較布爾類型

注意:
1.含有bool值的元組不能進(jìn)行比較,int和字符串可以比較
2.Swift 標(biāo)準(zhǔn)庫只能比較七個(gè)以內(nèi)元素的元組比較函數(shù)。如果你的元組元素超過七個(gè)時(shí),你需要自己實(shí)現(xiàn)比較運(yùn)算符

知識(shí)點(diǎn)2:空合運(yùn)算符

空合運(yùn)算符(a ?? b)將對(duì)可選類型?a?進(jìn)行空判斷,如果?a?包含一個(gè)值就進(jìn)行解包,否則就返回一個(gè)默認(rèn)值?b。表達(dá)式?a?必須是 Optional 類型。默認(rèn)值?b?的類型必須要和?a?存儲(chǔ)值的類型保持一致。

空合運(yùn)算符是對(duì)以下代碼的簡(jiǎn)短表達(dá)方法:

a !=nil? a! : b

上述代碼使用了三元運(yùn)算符。當(dāng)可選類型?a?的值不為空時(shí),進(jìn)行強(qiáng)制解封(a!),訪問?a?中的值;反之返回默認(rèn)值?b。無疑空合運(yùn)算符(??)提供了一種更為優(yōu)雅的方式去封裝條件判斷和解封兩種行為,顯得簡(jiǎn)潔以及更具可讀性。

知識(shí)點(diǎn)3:區(qū)間運(yùn)算符

閉區(qū)間運(yùn)算符:a...b 定義一個(gè)包含從?a?到?b(包括?a?和?b)的所有值的區(qū)間。a?的值不能超過?b
半開區(qū)間運(yùn)算符:a..<b 定義一個(gè)從?a?到?b?但不包括?b?的區(qū)間。 之所以稱為半開區(qū)間,是因?yàn)樵搮^(qū)間包含第一個(gè)值而不包括最后的值。
單側(cè)區(qū)間:2...或者...2,可以表達(dá)往一側(cè)無限延伸的區(qū)間

區(qū)間運(yùn)算符的使用場(chǎng)景:

1、在for 循環(huán)中使用

for index in1...5 {
? ?print("\(index) * 5 = \(index * 5)")
}

// 1 * 5 = 5
// 2 * 5 = 10
// 3 * 5 = 15
// 4 * 5 = 20
// 5 * 5 = 25

2. 作為數(shù)組的index使用

let names = ["Anna","Alex","Brian","Jack"]
for name in names[2...] {
? ? ?print(name)
}

// Brian
// Jack

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • [The Swift Programming Language 中文版]本頁包含內(nèi)容: 運(yùn)算符是檢查、改變、合并值...
    風(fēng)林山火閱讀 616評(píng)論 0 0
  • 術(shù)語 運(yùn)算符分為一元、二元和三元運(yùn)算符: 一元運(yùn)算符對(duì)單一操作對(duì)象操作(如 -a)。一元運(yùn)算符分前置運(yùn)算符和后置運(yùn)...
    CoderLGL閱讀 730評(píng)論 0 1
  • 其實(shí)Swift和Objective-C差不多,我這里只把有區(qū)別的記錄一下。 1、運(yùn)算符分為一元、二元和三元運(yùn)算符:...
    門前的那顆櫻桃樹閱讀 363評(píng)論 0 0
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來的情緒。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,464評(píng)論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者,不喜歡去冒險(xiǎn),但是人生放棄了冒險(xiǎn),也就放棄了無數(shù)的可能。 ...
    yichen大刀閱讀 7,584評(píng)論 0 4

友情鏈接更多精彩內(nèi)容