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)