天天看點

2.運算符

  Swift 支援大部分标準 C 語言的運算符,分為一進制、二進制和三元運算符。

  • 一進制運算符對單一操作對象操作(如 -a)。一進制運算符分前置運算符和後置運算符,前置運算符需緊跟在操作對象之前(如 !b),後置運算符需緊跟在操作對象之後(如 i++)。
  •  二進制運算符操作兩個操作對象(如 2 + 3),是中置的,因為它們出現在兩個操作對象之間。
  •  三元運算符操作三個操作對象,和 C 語言一樣,Swift 隻有一個三元運算符,就是三目運算符(a ? b : c)。

1.指派運算符: (=)

let a = 10      

2.算術運算符: 加法(+)、減法(-)、乘法(*)、除法(/)

1 + 2 ;
5 - 3;
2 * 3;
10.0 / 2.5;      

【說明】:加法運算符也可用于 String 的拼接。例如:

"hello, " + "world";      

3.求餘運算符: (%)

9 % 4;  //結果為1      

【說明】:不同于 C 語言和 Objective-C,Swift 中是可以對浮點數進行求餘。例如:

8 % 2.5;  //結果為0.5      

4.自增和自減運算:自增(++)和自減(--)

  • 當 ++ 前置的時候,先自増再傳回;當 ++ 後置的時候,先傳回再自增。

【注意】:it will be removed in Swift 3,可以不看。

5.一進制負号運算符: (-)

  • 一進制負号(-)寫在操作數之前,中間沒有空格。比如:-3

6.一進制正号運算符:  (+)

  • 不做任何改變地傳回操作數的值。

7.組合指派運算符

  • Swift 提供把其他運算符和指派運算(=)組合的組合指派運算符,組合加運算(+=)是其中一個例子。

8.比較運算符

  • 所有标準 C 語言中的比較運算都可以在 Swift 中使用: ==、!=、>、<、>=、<=
  • Swift 提供恒等(===)和不恒等(!==)這兩個比較符來判斷兩個對象是否引用同一個對象執行個體(具體看類和結構體章節)。
  • 當元組中的值可以比較時,也可以使用這些運算符來比較它們的大小。例如,因為 Int 和 String 類型的值可以比較,是以類型為 (Int, String) 的元組也可以被比較。相反,Bool 不能被比較,也意味着存有布爾類型的元組不能被比較。
(1, "zebra") < (2, "apple");  //true
(3, "apple") < (3, "bird");  //true
(4, "dog") == (4, "dog");  //true      

9.三元運算符:問題 ? 答案 1 : 答案 2

  • 表示根據 問題成立與否作出二選一的操作。如果 問題 成立,傳回 答案 1 的結果;反之傳回 答案 2 的結果。

10.空合運算符:空合運算符(a ?? b)

  • 對可選類型 a 進行空判斷,如果 a 包含一個值就進行解封,否則就傳回一個預設值 b。表達式 a 必須是 Optional 類型。預設值 b 的類型必須要和 a 存儲值的類型保持一緻。
  • 空合運算符是對以下代碼的簡短表達方法:a != nil ? a! : b

11.區間運算符

  • 閉區間運算符(a...b)定義一個包含從 a 到 b(包括 a 和 b)的所有值的區間。a 的值不能超過 b。 
  • 半開區間(a..<b)定義一個從 a 到 b 但不包括 b 的區間。 之是以稱為半開區間,是因為該區間包含第一個值而不包括最後的值。
for index in 1...5
{
    print("\(index) * 5 = \(index * 5)");  //執行5次
}      

12.邏輯運算

  • 邏輯非(!a)
  • 邏輯與(a && b)
  • 邏輯或(a || b)

無善無惡心之體,

有善有惡意之動,

知善知惡是良知,

為善去惡是格物。

上一篇: 1.基本介紹
下一篇: 10.屬性