1、操作符种类
①一元操作符:只有一个操作数。如-,++,--,总之就是一个数本身的操作,如a++,--a这种操作。
②二元操作符:操作符出现在两个操作数之间。如a+b,a*b这种。
③三元操作符:三个操作数直接。常见的就是三目运算了,如a?b:c。
2、赋值操作符:=等号
这里说一下元组类型赋值的话,等号右面的值会一一赋给左边对应的变量或者常量。
var (x,y,z) = (1,2,3) //即 x = 1, y =2 ,z = 3
3、赋值操作符:+、-、*、/、%
这里只记录一点,与其他语言不同的是,Swift的数值默认是不允许溢出的。例如,下面的 代码无法编译通过。
let x:Byte = 1234 // 1234超出了Byte的取值范围 var y:Byte = 12*33 //Swift编译器编译时会计算12*33的值,很明显,它们计算的结果超出了Byte的范围。
与其他语言不同,Swift是可以对浮点数求余的。例如,8.5 % 2.5 = 1.0。
在Swift语言中,整形和浮点类型都可以进行自加/自减操作。
4、复合赋值操作符,其实就是操作符和赋值操作同时使用罢了。例如+=、-=操作。
var a = 1 a += 2 //相当于 a = a + 2
注意:复合赋值运算没有返回值,也就是说,
let b = a += 2 //错误
是错误的写法。
5、比较操作符
基本的就是等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。
在Swift语言中还支持恒等于(3个符号,===)和不恒等(一个感叹号和两个等号,!==)两个比较操作符。这两个操作符用来判断连个对象是否引用了同一个对象实例。
6、三元条件操作符即三目运算
逻辑表达式?为true时的答案:为false时的答案
var value:Int var flag:Bool = true // 不使用三元逻辑情况 if flag { value = 1 } else { value = 2 } //使用三元 value = (flag?1:2) //理论括号应该可以不加
7、区间操作符
分为闭区间和半开半闭区间。
闭区间用3个点(...)表示,半开半闭用(..<)表示。
let names = ["a","b","c"] let count = names.count //闭区间写法 //i会从0循环到count-1 for i in 0..<count { println("第\(i+i)个人叫\(names[i])") } //以上输出结果为 //第1个人叫a //第2个人叫b //第3个人叫c //半开半闭写法 for i in 0...count-1 { println("第\(i+i)个人叫\(names[i])") }
8、逻辑操作符
①逻辑非 !a
②逻辑与 a&&b
③逻辑或 a||b
跟其他语言无异,不多说。
但是还是罗嗦一句吧,书中云括号会指定优先级。
var a = true,b = true, c = true,d = false if( a && (b&&c) || d)//这里会优先执行(b&&c) 博主一直以为是左右顺序的,涨姿势了... { println("yes") } else { println("no) }