Swift解讀專題三——基礎運算符

Swift解讀專題三——基礎運算符

1、引言 

        運算符是編程語言不可缺乏的一個部分,Swift中除了支持C中的運算符外,還提供了一些更增強大的運算符功能,例如取餘符%能夠用來計算浮點數,另外新增了兩種範圍運算符。Swift中有3類運算符:編程

1.一元運算符編程語言

運算符做用於一個操做數,能夠出如今操做數前或者操做數後。spa

2.二元運算符設計

運算符做用於兩個操做數,出如今兩個操做數中間。code

3.三元運算符開發

運算符做用於三個操做數間。字符串

2、賦值運算符

        賦值運算符用=符號表示,用於初始化或者更新一個量值,示例以下:編譯器

//將字符串「hello world」 賦值給變量str
var str = "Hello, world"
//更新變量str的值
str = "new value"

 

若是賦值運算符的右邊是一個元組,其也能夠將元組進行分解賦值,示例以下:io

//對元組進行分解賦值
var (x,y) = (1,2)

 

與C與Objective-C不一樣,Swift的中賦值運算符並不會返回一個值,不少初學者在進行if語句的使用時,常常會犯的一個錯誤就是將賦值運算符當作等於運算符來使用,這些錯誤在Swift語言中都將被避免,由於若是在if語句的判斷條件中使用的是賦值運算符,編譯器將會直接拋出錯誤。編譯

3、算術運算符

        Swift中支持的基礎的算數運算符有7種,加(+)、減(-)、乘(*)、除(/)、取餘(%)、正號(+)、負號(-)。Sring類型的數據是支持經過+運算符來進行拼接的,示例以下:

var newStr = "hello"+"world"

 

Swift中的%運算符比Objective-C更增強大,其除了支持整數的取餘操做外,還能夠支持浮點數的取餘操做,示例以下:

var value1 = 10%3 //餘數1
var value2 = -10%3 //餘數-1
var value3 = 10%4.5 //餘數1
var value4 = -10%4.5 //餘數-1

 

對於正號和負號操做符也被稱爲一元加操做符與一元減操做符,一元減操做符會改變數據的正負性,一元加操做符只會返回數值自己,並無作任何操做,示例以下:

var tmp = -3;
+tmp//-3
-tmp//3

 

4、複合賦值運算符

        Swift中提供了將一個算術運算符與賦值運算符結合使用的複合賦值功能,示例以下:

tmp+=3  //tmp = tmp +3
tmp-=3  //tmp = tmp -3
tmp*=3  //tmp = tmp *3
tmp/=3  //tmp = tmp /3
tmp%=3  //tmp = tmp %3

 

5、比較運算符

        Swift支持Objective-C中全部的比較運算符,比較運算符將會返回一個Bool類型的值:

1==2 //等於比較
1<2  //小於比較
1>2  //大於比較
1 != 2 //不等於比較
1<=2  //小於等於比較
1>=2  //大於等於比較

 

除了上面列舉出的6種比較運算符外,Swift中還提供了兩個特殊的比較運算符===和!==,這兩個比較運算符用於比較引用是否相同。

        Swift中的元組也能夠進行比較,可是其有兩個前提須要注意:

1.元組中元素的個數相同且對應位置的元素類型相同。

2.元組中的元素能夠進行比較操做。

當元組進行比較時,按元素順序進行逐個比較,直道某個元素比較出結果後做爲元組的比較結果。

(1,"123")>(0,"234") //true
(1,"123")>(1,"456") //false

 

三元運算符能夠理解爲一個簡寫的if else 語句,示例以下:

var a = 1>2 ? 1:2 //若是1>2成立 a=1 a=2

 

6、空聚合運算符

        空聚合運算符也是Swift語言中獨有的一個運算符,其設計的思路是基於更加方便的使用Optional值的目的。對於Optional類型的值,開發者通常會須要使用?進行可選拆包或者!進行強制拆包來獲取其原始值,空聚合運算符??提供了更加使用的方式,示例以下:

var Op1:String?
var Op2:String? = "123"
//這個表達式將返回Op2 其意義是 若是Op1不爲nil,則對其進行強制拆包 將值返回,若是爲nil,則返回Op2
var realStr = Op1 ?? Op2
//上面的表達式和下面這個表達式意義相同
Op1 != nil ? Op1! : Op2

 

7、區間運算符

        Swift中還提供了區間運算符,在for-in循環中,區間運算符會被常常使用到,示例以下:

//a...b爲閉區間寫法
for index in 0...3 {
    print(index)
}
//a..<b爲左閉右開區間
for index in 0..<3 {
    print(index)
}

 

8、邏輯運算符

        Swift中支持與&&、或||、非!三種邏輯運算符,邏輯運算符只能操做Bool值,示例以下:

var one = true
var two = false
one&&two //false
one||two //true
!one     //false

 

邏輯運算符在複合使用時,最好使用小括號進行模塊分隔,加強可讀性。

專一技術,熱愛生活,交流技術,也作朋友。

——琿少 QQ羣:203317592

相關文章
相關標籤/搜索