閱讀468 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Swift學習之九:基本運行符(Basic Operators)

基本運行符:

+(加法、正數)

- (減法、負數)

*  (乘法)

/ (除法)

% (求餘)  : 在Swift中,求餘可以是浮點數求餘。

&&(邏輯與) 

|| (邏輯或)

^ (邏輯異或) 

表示範圍的符號:..和...(兩個點:不包括下界和三個點包括下界)

++,

--


賦值操作符

// 賦值操作符=,表示把某個值賦給對應的常量或者變量
let b = 10
var a = 5

如果右邊的賦值是一個元組,那麼可以分解成多個常量或者變量:

// x = 1, y = 2
let (x, y) = (1, 2)

在swift中,賦值語句不會以返回值,與C和OC是不同的。下麵的寫法是不對的:

if x = y {
 // Error,因為賦值語句不會返回值
// x的值變為y的值,但是x是整型,不是Bool型
}
但是呢,swift在我們寫x = y時會主動提示 == 而不是=


算術運行符

1 + 2 // 3
5 - 3 // 2
2 * 3 // 6
10.0 / 2.5 // 4.0

與C和OC中的算術運算符不一樣,Swift中的算術運算術默認是不允許溢出的。

如果想要得到溢出的值,那麼可以使用溢出操作符,如a &+ b等。

下麵的加法是對字符串的,是執行字符串連接:

"hello, " + "world"


兩個Character值或者一個是Character值,另一個是String類型,可以相加形成字符串:

let dog: Character = "D"
let cow: Character = "C"
let dogCow = dog + cow


求餘運算符

在swift中,求餘可以是浮點數。

如:

// 9 = 2 * 4 + 1
9 % 4 // 1 

在計算餘數時,計算公式是這樣的:

a = (b * some multiplier) + remainder

看下麵的例子:

// -9 = (-2 * 4) + (-1)
-9 % 4 // -1

// -9 = (2 * -4) + (-1)
-9 % -4 // -1


// 9 = (-2 * -4) + 1
9 % -4 // 1

結論:所以求餘的結果是正數還是負數,就看第一個操作數是不是正數。如果第一個操作數是負數,那麼餘數是負數,否則是正數
浮點數求餘

// 8 = (3 * 2.5) + 0.5
8 % 2.5 // 0.5

自增、自減運算符
與C、OC中的自增版頭運算符一樣

var i = 0
j = ++i  // i = 1, j = 1

var i = 0
j = i++ // i = 1, j = 0

var i = 1
j = i-- // i = 0, j = 1

var i = 1
j = --i // i = 0, j = 0 


比較運算符

1 == 1 // true
2 != 1 // true
2 > 1 // true
1 > 2 // false

 
let name = "world"
if name == "world" {
    println("hello, world")
}


三元運算符

三元運行符是  ? :

如:

let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)

範圍運算符
在swift中提供了兩種範圍運算符,a..b和a...b,前者不包含b,後者包含b

如:

// 打印出12
for index in 1..3 {
  print("\(index)") 
}

// 打印出123
for index in 1...3 {
  print("\(index)") 
}




最後更新:2017-04-03 07:57:18

  上一篇:go Swift學習之四:類型別名(Type Aliases)
  下一篇:go C# 動態加載Dll