欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS Swift邏輯運(yùn)算符示例總結(jié)

 更新時(shí)間:2021年10月13日 16:01:21   作者:一眼萬(wàn)年的星空  
運(yùn)算符是一個(gè)符號(hào),用于告訴編譯器執(zhí)行一個(gè)數(shù)學(xué)或邏輯運(yùn)算,下面這篇文章主要給大家介紹了關(guān)于iOS Swift邏輯運(yùn)算符的相關(guān)資料,需要的朋友可以參考下

運(yùn)算符分類(lèi)

從操作數(shù)角度看:運(yùn)算符包括一元、二元、三元。這里的一二三指操作數(shù)的數(shù)量,操作數(shù)指的是被操作的數(shù)值。

從運(yùn)算符位置看:運(yùn)算符分為前綴、中綴、后綴。例如:!b, b + c, c!

賦值運(yùn)算符

賦值運(yùn)算符( a = b )可以初始化或者更新 a  為 b  的值:

如果賦值符號(hào)右側(cè)是擁有多個(gè)值的元組,它的元素將會(huì)一次性地拆分成常量或者變量:

let (x, y) = (1, 2)
// x 等于 1, 同時(shí) y 等于 2

與 Objective-C 和 C 不同,Swift 的賦值符號(hào)自身不會(huì)返回值。下面的語(yǔ)句是不合法的:

if x = y {
    // 這是不合法的, 因?yàn)?x = y 并不會(huì)返回任何值。
}

這個(gè)特性避免了賦值符號(hào) (=) 被意外地用于等于符號(hào) (==) 的實(shí)際意圖上。Swift 通過(guò)讓 if x = y  非法來(lái)幫助你避免這類(lèi)的錯(cuò)誤在你的代碼中出現(xiàn)。

算數(shù)運(yùn)算符

  • 加 ( + ),:作為中綴,表示兩個(gè)數(shù)值相加,如果是字符串,表示字符串拼接;作為前綴,表示正數(shù),數(shù)值不變
  • 減 ( - ): 作為中綴,表示兩個(gè)數(shù)值相減;作為前綴,表示負(fù)數(shù)
  • 乘 ( * )
  • 除 ( / )
  • 取余(%):余數(shù)運(yùn)算符( a % b )可以求出多少個(gè) b  的倍數(shù)能夠剛好放進(jìn) a  中并且返回剩下的值(就是我們所謂的余數(shù))。9 % 4 = 1, 因?yàn)?4 * 2 + 1 = 9 

組合運(yùn)算符

+= 、 -= 、/= 、*=

var a = 1
a += 2

表達(dá)式  a += 2 其實(shí)就是 a = a + 2  的簡(jiǎn)寫(xiě)。效率上來(lái)講,加號(hào)和賦值符號(hào)組合成的一個(gè)運(yùn)算符能夠同時(shí)進(jìn)行這兩個(gè)操作。

比較運(yùn)算符

下面是常規(guī)的比較運(yùn)算符:

  • 相等 ( a == b )
  • 不相等 ( a != b )
  • 大于 ( a > b )
  • 小于 ( a < b )
  • 大于等于 ( a >= b )
  • 小于等于 ( a <= b )

也可以用在相同數(shù)量的元組中, 元組以從左到右的順序比較大小,一次一個(gè)值,直到找到兩個(gè)不相等的值為止。如果所有的值都是相等的,那么就認(rèn)為元組本身是相等的。

Swift 標(biāo)準(zhǔn)庫(kù)包含的元組比較運(yùn)算符僅支持小于七個(gè)元素的元組。要比較擁有七個(gè)或者更多元素的元組,你必須自己實(shí)現(xiàn)比較運(yùn)算符。

(1, "zebra") < (2, "apple")   // true because 1 is less than 2
(3, "apple") < (3, "bird")    // true because 3 is equal to 3, and "apple" is less than "bird"
(4, "dog") == (4, "dog")      // true because 4 is equal to 4, and "dog" is equal to "dog"
 

三目運(yùn)算符

三元條件運(yùn)算符是一種有三部分的特殊運(yùn)算,它看起來(lái)是這樣的: question ? answer1 : answer2  。這是一種基于 question  是真還是假來(lái)選擇兩個(gè)表達(dá)式之一的便捷寫(xiě)法。

三元條件運(yùn)算符提供了一個(gè)非常有效的簡(jiǎn)寫(xiě)來(lái)決策要兩個(gè)表達(dá)式之間選哪個(gè)??傊?,使用三元條件運(yùn)算符要小心。它的簡(jiǎn)潔性會(huì)導(dǎo)致你代碼重用的時(shí)候失去易讀的特性。避免把多個(gè)三元條件運(yùn)算符組合到一句代碼當(dāng)中。

合并空值運(yùn)算符

合并空值運(yùn)算符 ( a ?? b )如果可選項(xiàng) a  有值則展開(kāi),如果沒(méi)有值,是 nil  ,則返回默認(rèn)值 b 。表達(dá)式 a 必須是一個(gè)可選類(lèi)型。表達(dá)式 b  必須與 a  的儲(chǔ)存類(lèi)型相同。

合并空值運(yùn)算符是下邊代碼的縮寫(xiě):

a != nil ? a! : b
 

區(qū)間運(yùn)算符

閉區(qū)間運(yùn)算符( a...b )定義了從 a  到 b  的一組范圍,并且包含 a  和 b  。 a  的值不能大于 b 。

for index in 1...5 {
    print("\(index) times 5 is \(index * 5)")
}

半開(kāi)區(qū)間運(yùn)算符( a..<b )定義了從 a  到 b  但不包括 b  的區(qū)間,即 半開(kāi) ,因?yàn)樗话鹗贾档⒉话Y(jié)束值

單側(cè)區(qū)間:有另外一種形式來(lái)讓區(qū)間朝一個(gè)方向盡可能的遠(yuǎn)。比如說(shuō),一個(gè)包含數(shù)組所有元素的區(qū)間,從索引 2 到數(shù)組的結(jié)束。在這種情況下,你可以省略區(qū)間運(yùn)算符一側(cè)的值。因?yàn)檫\(yùn)算符只有一側(cè)有值,所以這種區(qū)間叫做單側(cè)區(qū)間。閉區(qū)間和半開(kāi)區(qū)間都有單側(cè)區(qū)間的形式。比如說(shuō):

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

邏輯運(yùn)算符

  • 邏輯 非  ( !a ):取反
  • 邏輯 與  ( a && b ) :短路與。如果第一個(gè)值是 false  ,那么第二個(gè)值就會(huì)被忽略掉了,因?yàn)樗呀?jīng)無(wú)法讓整個(gè)表達(dá)式再成為 true  。這就是所謂的 短路計(jì)算
  • 邏輯 或  ( a || b ):短路或。如果邏輯或運(yùn)算符左側(cè)的表達(dá)式為 true  ,那么右側(cè)則不予考慮了,因?yàn)樗粫?huì)影響到整個(gè)邏輯表達(dá)式的結(jié)果。
  • Swift 語(yǔ)言中邏輯運(yùn)算符 && 和 || 是左相關(guān)的,這意味著多個(gè)邏輯運(yùn)算符組合的表達(dá)式會(huì)首先計(jì)算最左邊的子表達(dá)式。

總結(jié)

到此這篇關(guān)于iOS Swift邏輯運(yùn)算符的文章就介紹到這了,更多相關(guān)iOS Swift邏輯運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解如何使用ReactiveObjC

    詳解如何使用ReactiveObjC

    RAC 指的就是 RactiveCocoa ,是 Github 的一個(gè)開(kāi)源框架,能夠通過(guò)信號(hào)提供大量方便的事件處理方案,讓我們更簡(jiǎn)單粗暴地去處理事件,現(xiàn)在分為 ReactiveObjC(OC) 和 ReactiveSwift(swift)。本文將詳細(xì)介紹如何使用ReactiveObjC。
    2021-06-06
  • IOS上實(shí)現(xiàn)的自定義儀表盤(pán)示例

    IOS上實(shí)現(xiàn)的自定義儀表盤(pán)示例

    本篇文章主要介紹了IOS上實(shí)現(xiàn)的自定義儀表盤(pán)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • iOS將時(shí)間NSDate轉(zhuǎn)化為毫秒時(shí)間戳的方法示例

    iOS將時(shí)間NSDate轉(zhuǎn)化為毫秒時(shí)間戳的方法示例

    這篇文章主要給大家介紹了關(guān)于iOS將時(shí)間NSDate轉(zhuǎn)化為毫秒時(shí)間戳的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • 開(kāi)發(fā)繪圖、手勢(shì)綜合App注意點(diǎn)

    開(kāi)發(fā)繪圖、手勢(shì)綜合App注意點(diǎn)

    本篇文章主要給大家詳細(xì)講述了在IOS開(kāi)發(fā)繪圖、手勢(shì)綜合App容易遇到的坑以及注意事項(xiàng)等內(nèi)容,有興趣的朋友參考下吧。
    2018-02-02
  • iOS 無(wú)卡頓同時(shí)使用圓角、陰影和邊框的實(shí)現(xiàn)

    iOS 無(wú)卡頓同時(shí)使用圓角、陰影和邊框的實(shí)現(xiàn)

    這篇文章主要介紹了iOS 無(wú)卡頓同時(shí)使用圓角、陰影和邊框的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • iOS如何巧妙解決NSTimer的循環(huán)引用詳解

    iOS如何巧妙解決NSTimer的循環(huán)引用詳解

    這篇文章主要給大家介紹了關(guān)于iOS如何巧妙解決NSTimer的循環(huán)引用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • iOS實(shí)現(xiàn)音頻進(jìn)度條效果

    iOS實(shí)現(xiàn)音頻進(jìn)度條效果

    這篇文章主要介紹了ios實(shí)現(xiàn)音頻進(jìn)度條效果,本文寫(xiě)了一個(gè)小demo通過(guò)實(shí)例代碼相結(jié)合的形式給大家詳細(xì)介紹,需要的朋友可以參考下
    2018-10-10
  • iOS文件預(yù)覽分享小技能示例

    iOS文件預(yù)覽分享小技能示例

    這篇文章主要為大家介紹了iOS文件預(yù)覽分享小技能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 淺析iOS給圖片加水印的方法

    淺析iOS給圖片加水印的方法

    在一些應(yīng)用如微博中,為了防止用戶(hù)圖片被盜用,一般會(huì)在圖片上加上水印,接下來(lái)就給大家分享一個(gè)iOS中給圖片加水印的簡(jiǎn)單方法.一起來(lái)看看吧。
    2016-08-08
  • IOS 自定義UICollectionView的頭視圖或者尾視圖UICollectionReusableView

    IOS 自定義UICollectionView的頭視圖或者尾視圖UICollectionReusableView

    這篇文章主要介紹了IOS 自定義UICollectionView的頭視圖或者尾視圖UICollectionReusableView的相關(guān)資料,需要的朋友可以參考下
    2017-01-01

最新評(píng)論