// 運算子
// 賦值運算子
var a = 50;
// 如果右邊是一個元祖,他的元素可以馬上被分解多個常量或變數
var (x,y) = (1,2)
// 算術運算子
1+1
5-1
2*3
10 / 2
"hi" + "Yuan"
// 取餘
// 求餘運算(a % b)是計算b的多少倍剛剛好可以容入a,返回多出來的那部分(餘數)
9 % 4 // 等於 1
10 % 3
// 自增和自減
// 當++前置的時候,先自増再返回。
// 當++後置的時候,先返回再自增
var i = 0;
++i;
var sa = i--;
// 一元負號運算子
// 數值的正負號可以使用字首-(即一元負號)來切換
let three = 3
let minusThree = -three // minusThree 等於 -3
let plusThree = -minusThree // plusThree 等於 3
// 一元正號運算子
//一元正號(+)不做任何改變地返回運算元的值
let minusSix = -6
let alsoMinusSix = +minusSix // alsoMinusSix 等於 -6
//複合賦值
var aa = 10;
aa += 2;
//比較運算子
a = 10
var b = 10
a == b
a != b
a < b
a <= b
a > b
a >= b
// 三目運算子
var sana = 1;
var sanb = 2;
var sanc = (sana > sanb ? 10 : 20);
// 空合運算子
//空合運算子(a ?? b)將對可選型別a進行空判斷,如果a包含一個值就進行解封,否則就返回一個預設值b.這個運算子有兩個條件:
//
//表示式a必須是Optional型別
//預設值b的型別必須要和a儲存值的型別保持一致
let defaultColorName = "red"
var userDefinedColorName:String?
// 結果為red
var colorName = userDefinedColorName ?? defaultColorName
//區間運算子
//閉區間運算子(a...b)定義一個包含從a到b(包括a和b)的所有值的區間,b必須大於a
for index in 1...5 {
println("(index)")
}
//半開區間運算子
//半開區間(a..<b)定義一個從a到b但不包括b的區間。 之所以稱為半開區間,是因為該區間包含第一個值而不包括最後的值。
let arr = ["one","two"]
let count = arr.count
for i in 0..<count{
println("(arr[i])")
}
// 邏輯運算
//邏輯非(!a)
//邏輯與(a && b)
//邏輯或(a || b)
// 可用括號表示優先順序