Swift支持大部分标准C语言的运算符, 且改进许多特性来减少常规编码错误.如赋值符 = 不返回值, 以防止错把等号 == 写成赋值号 = 而导致Bug. 数值运算符( + , -, *, /, %等)会检测并不允许值溢出, 以此来避免保存变量时由于变量大于或小于其类型所能承载的范围时导致的异常结果. 当然允许你选择使用Swift的溢出运算符来玩溢出. 具体使用请移步溢出运算符.区别于C语言, 在Swift中你可以对浮点数进行取余运算( % ), 还提供了C语言没有的表达两数之间的值的区间运算符, ( a..b 和 a...b ), 这方便我们表达一个区间内的数值.
一、赋值运算符(Assignment Operator)
赋值运算符(a=b)初始化或使用b的值更新a的值
let b = 10
var a = 5
a = b
如果右边是一个复合值的元组,它的元素可以马上分解为多个常量或变量值
let (x,y) = (1, 2)
与C语言和Objective-C不同, Swift的赋值操作并不返回任何值. 所以以下表达式是错误的:
if x = y {
// this is not valid, because x = y does not return a value
}
二、数值运算符
Swift支持所有数值类型的四则运算,+,-,*,/
三、求余运算符
%是求余运算符,多出来的部分称为余数。正负数的取余结果是相同的。不同于C,OC。swift支持对浮点数取余。
四、自增和自减运算符
和C一样, Swift也提供了方便对变量本身加1或减1的自增 ++ 和自减 -- 的运算符. 其操作对象可以是整形和浮点型。
五、区间运算符
Swift提供了两个方便表达一个区间的值的运算符
1.闭区间运算符
闭区间运算符 a...b 定义一个包含从 a 到 b (包括 a 和 b)的所有值的区间. 闭区间运算符在迭代一个区间的所有值时是非常有用的
for index in 1...5 {
println("(index) * 5 = (index * 5)")
}
2.半闭区间运算符
半闭区间运算符在你遍历数组时非常实用。
let names = ["Anna", "Alex", "Brian", "Jack"] let count = names.count for i in 0..count { println("第 (i + 1) 个人叫 (names[i])") }
六、逻辑运算符