Swift中的基础运算符合逻辑运算符,跟其他编程语言几乎完全一样,该有的Swift都有,用法也完全一样,由于读此专栏的小伙伴,我默认你们是学过编程的,所以我就不在多解释Swift中的运算符了,只简单介绍一下 :huaji9:
基础运算符
加法:+
减法:-
乘法:*
除法:/
求余:%
赋值:=
比较运算符
等于:==
不等:!=
大于:>
小于:<
大于等于:>=
小于等于:<=
逻辑运算符
逻辑与:&&
逻辑或:||
逻辑非:!
三元运算符
a?b:c
用法跟其他编程语言的用法一样,a为真取b的值,为假取c的值
合并空值运算符
??
关于合并空值运算符,前面的章节简单用过,文章会具体再解释
区间运算符
Swift还提供区间运算符,后面的文章会详细介绍,这里就不解释了
关于运算符还有一些细节上的操作需要简单说明一下,如下所述
1:减号放到数字前面表示负数:-8、-9、-45
2:感叹号放到Bool值前面表示取反:
!true表示false,!false表示true
3:感叹号放到可选类型后面表示解析里面的值,这个前面可选类型的章节里已经介绍了:
var a:Int? = 10
prInt(a!)
4:一些简写方式比如:a = a+b,可以写成a+=b,其他方式同理,-=,*=,/= 跟其他编程语言都一样
5:需要特别注意的是,最新的Swift已经去掉了,类似 i++、i-- 这种运算,有些小伙伴可能会问了,没了i++,写for循环岂不是没有了灵魂,不过不用担心,Swift提供了另外一种区间运算符,可以很好的解决此类问题,而且区间运算符,感觉更加魔性,走位更加风骚,用法更加刁钻,后面的章节会单独介绍 :huaji4:
6:Swift还提供了 === 和 !== 运算符,用来判断两个引用是否相等,后面关于类和对象的时候,再具体解释
运算符优先级
Swift中的运算符优先级,跟其他编程语言一样,例如:下面运算,肯定先算2*3最后再加1
var a = 1+2*3
prInt(a)
/*
*编译器打印结果:
7
*/
利用括号提高优先级:下面先运算括号里面的1+2,最后再乘3
var b = (1+2)*3
print(b)
/*
*编译器打印结果:
9
*/
关于合并空值运算符
这个需要单独解释一下,这个运算符在起码讲可选类型的时候简单用过,只是没具体解释。
请看下面代码,可选类型a中有值,那么就将10赋值给c,可选类型b中没有值为nil,那么就将0赋值给d
var a:Int? = 10
var b:Int? = nil
var c = a ?? 100
var d = b ?? 0
print(c)
print(d)
/*
*编译器打印结果:
10
0
*/
如果不怕麻烦也可以用三元运算符来写
var value:Int? = 10
value != nil是个判断语句,结果是Bool值
如果value不等于nil,那么就将value!中的值解析出来赋值给a,如果等于nil那就将0赋给a
var a = value != nil ? value! : 0
print(a)
/*
*编译器打印结果:
10
*/
如果不怕麻烦,又闲的蛋疼,还可以用if语句来写
var a:Int? = 10
var b = -1
if (a == nil) {
b = 0
}else{
b = a!
}
print(b)
/*
*编译器打印结果:
10
*/
总结,Swift中的大部分运算符都跟其他编程语言的使用方式一样,所以有些很基础的我就不解释了
Comments NOTHING