运算符专门用语
一元运算符,二元运算符,三元运算符
一元运算符:只对一个目标进行操作,如a,-a,!a等
二元运算符:对两个目标进行操作,如 2 + 3
三元运算符:对三个目标进行操作,Swift仅有一个三元运算符(a ? b : c),a是一个判断真假的语句,如果是真,返回a,假则返回b.(是if else 语句的缩写,后面会讲到)
赋值运算符,算数运算符,取余
赋值运算符: =
把右边的值赋值给左边的变量或者常量,当然左边的常量或者变量的数据类型要和右边的一致.
1 | let gender = 1;print(gender)//把右边1赋值给左边的常量gender |
算术运算符: + - * /
对基本数据类型进行算数运算:加,减,乘以,除以
1 | let a = 1 + 2;print(a)//加 字符串,集合类,都可以使用 + 号进行操作 |
取余: %
对整型Int类型进行运算,结果取整型.
1 | let e = 7 / 2;print(e)//等于1,取整数 |
一元减号运算符,一元加号运算符,组合赋值符号
一元减号运算符
正数变为负数,负数变为正数
1 | var e1 = 10;e1 = -e1;print(e1) |
一元加号运算符
不会对值产生影响
1 | var e2 = 2;e2 = +e2;print(e2) |
组合赋值符号
包含: += 和 -= ,本身加上或者减去
1 | var g1 = 3;g1 += 10;print(g1)//g1 = g1 + 10 |
比较运算符,三元条件运算符
比较运算符
比较结果返回true或者false 如a > b,a < b,a == b,a >= b,a <= b,a != b
元组也可以进行比较,每一个元素逐一比较(对应的元素必须是用一类型)
常用于控制流if
1 | let f1 = 21 |
三元条件运算符
question?answer1:answer2,question为真,返回answer1,否则返回answer2
1 | let maxNumber:Int = Int(f1 > f2 ? UInt32(f1) : f2) |
合并空值运算符(??),区间运算符
合并空值运算符(??)
a ?? b,a有值就返回a,a如果为nil,则返回b,a必须是可选类型,并且b和a一定是同一个类型
1 | let count = 10111 |
区间运算符
闭区间运算符
包含头尾
1 | for i in 1...6 { |
半开区间运算符
只有右边半开区间,没有左边半开区间
1 | for i in 1..<6 {//注意是2个(.)加上< |
数组相关的区间运算符
单侧区间
1 | let arr = ["a","b","c","d","e","f","g","h"] |
半开单侧区间
1 | for item in arr[..<5] { |
逻辑运算符
非(!a),与(a && b),或(a || b)
用来判断是真还是假
1 | let add = true,less = false |
end