1.赋值运算符 Assignment Operator

let b =10

var a =5

a =b

 

//如果赋值的右侧是具有多个值的元组,则其元素可以一次分解为多个常量或变量:

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

print(x,y)//1 2

 

//if x =y {

//    //这是无效的,因为x = y不返回值。

//}

 

2.算术运算符 Arithmetic Operators

Swift支持所有数字类型的四个标准算术运算符:

    加法(+)

    减法( -)

    乘法(*)

    除法(/)

1 +2 //等于3

5 -3 //等于2

2 *3 //等于6

10.0 /2.5 //等于4.0

//注:Swift算术运算符不允许值默认溢出。可以通过使用Swift的溢出运算符(例如a &+ b)来选择值溢出行为。

 

3.剩余运算符 RemainderOperator

剩余数运算符(a%b)计算出多少个b将适合在a内,并返回剩余的值(称为余数)。

9 %4    //1

 

4.一元减运算符  UnaryMinus Operator

数字值的符号可以使用前缀 -,称为一元减运算符来切换:

let three =3

let minusThree = -three      // minusThree= -3

let plusThree= -minusThree  // plusThree = 3, 或者"minus minus three"

//注:一元减运算符( -)直接位于其操作的值之前,没有任何空格。

 

5.一元加运算符

一元加运算符(+)简单地返回它所操作的值,没有任何更改:

let minusSix =-6

letalsoMinusSix = +minusSix// alsoMinusSix等于-6

 

 

6.复合赋值运算符

var a =1

a +=2

print(a)//3

a -=4

print(a)//-1

 

7.比较运算符 Comparison Operators

    等于(a == b)

    不等于(a != b)

    大于(a > b)

    小于(a < b)

    大于或等于(a >= b)

    小于或等于(a <= b)

注意:Swift还提供了两个身份操作符(===和!==),用来测试两个对象引用是否都引用同一个对象实例。

1 ==1   // true

2 !=1   // true

2 >1    // true

1 <2    // true

1 >=1   // true

2 <=1   // false 

 

(1,"zebra") < (2,"apple")  //true 因为 1 < 2; "zebra" and"apple"没有进行比较

(3,"apple") < (3,"bird")   //true 因为 3 = 3,且"apple"小于 "bird"

(4,"dog")== (4,"dog")    // true 因为 4 = 4,且"dog"等于 "dog"

 

 

8.三元运算符

表达式:question ?answer1 : answer2 如果question为true,它将评估answer1并返回其值;否则,它将评估answer2并返回其值。

等价于:

if

       answer1

else

       answer2

   }

 

let contentHeight =40

let hasHeader =true

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

print(rowHeight)//90

 

9.Nil-Coalescing Operator

nil-coalescing运算符(a ??b)包含一个可选的a,如果a有值返回a的解包值a!,如果a是nil,则返回默认值b。等价于:a != nil ? a! : b。 表达式a始终是可选类型。 表达式b必须与存储在a中的类型匹配。

let defaultColorName ="red"

varuserDefinedColorName:String?   // defaults tonil

var colorNameToUse =userDefinedColorName ?? defaultColorName

print(colorNameToUse)//red

 

10.范围运算符  RangeOperators

Swift包括两个范围运算符,它们是用于表达值范围的快捷方式。

闭合范围运算符(a ... b)定义从a到b的范围,并且包括值a和b。 a的值不能大于b。

for indexin 1...5

print("\(index) times 5 is\(index * 5)")

}

 

半开范围运算符(a .. <b)定义从a到b的范围,但不包括b。

let names = ["Anna","Alex", "Brian","Jack"]

let count =names.count

for iin 0..<count

print("Person \(i +1) is called \(names[i])")

}

 

 

11.逻辑运算符

逻辑运算符修改或组合布尔逻辑值true和false。Swift支持在基于C语言中找到的三个标准逻辑运算符:

    NOT(!a)

    AND(a && b)

    OR(a || b)