二、基本运算符
2019-12-31 本文已影响0人
爱玩游戏的iOS菜鸟
运算符
运算符定义
运算符是用来检查、改变或合并值的特殊符号或组合符号。运算符包括一元、二元、三元(即操作n个目标)运算符
- 一元运算符(一元前缀运算符,一元后缀运算符)
例如:-a !a a! - 二元运算符(中缀运算符)
例如:2+3 - 三元运算符(三元运营商在三个目标上运算,与C一样,Swift只有一个三元运算符)
例如:(a ? b : c)条件运算符
赋值运算符
- = 并非等于 赋值符号不会有返回值 (很好的避免的用于==符号的实际意图)
算术运算符
- 常规+ - * / %运算符
var a = 10
var b = 15
var value1 = a + b
var value2 = a - b
var value3 = a * b
var value4 = a / b
var value5 = a % b
【注意】%并不是 a % b (a = b * 某个乘数 + 余数) 余数与b的正负无关
let a = -9,b = 4, c = -4
var f = a % b //结果均为-1 -9 = 4 * 2 - 1
var g = a % c //结果均为-1 -9 = (-4) * (-2) - 1
- 合并空值运算符 a??b
- ??运算符:将对可选类型a进行空判断,如果a包含一个值则展开,否则就返回一个默认值b)
-
注:该运算符是对 a != nil ? a! : b 代码的简写,使用??运算符满足两个条件:
- 表达式a必须是optional类型(可选类型)
- 默认值b的类型必须和a存储值的类型一致
范围运算符
- 闭区间运算符 a...b 用数学方法表示即为:[a,b](包含a,b)
for index in 1...10 {
print("\(index) times 10 is \(index * 10)")
}
- 半开区间运算符 a..<b [a,b)(包含a,不包含b) !!! 没有a<..b
var array = ["123","345","456"]
for index in 0..<array.count {
print(array[index])
}//输出结果:123\n345\n456\n
- 单侧区间运算符
- 闭区间运算符的另一种替代形式,用于在一个方向上尽可能继续的范围 同样,半开区间运算符也具有单侧形式
- 例如:包括从索引2到数组末尾的数组的所有元素的范围。 在这些情况下,您可以省略范围运算符一侧的值
var array = ["123","345","456","567","678"]
for string in array[...3] {
print(string)
}//输出结果:123\n345\n456\n567\n
for string in array[..<3] {
print(string)
}//输出结果:123\n345\n456\n
- 区间类型(第3点的补充)
let range1 :ClosedRange<Int> = 1...10
let range2 :Range<Int> = 1 ..< 10
let range3 :PartialRangeThrough<Int> = ...10
let range4 :PartialRangeFrom<Int> = 10...
let range5 :PartialRangeUpTo<Int> = ..<10
逻辑运算符
- && 与
- || 或
- ! 非
- && 与 || 为左关联,! 为前缀运算符 在复合表达式中,不要弄错 在写较复杂的逻辑表达式时,用()括起来
print("\(true && false)\t\(true || false)\t\(!false)")//输出:false true true
Swift学习日记2.0