swift和Java都有的运算符
- 赋值运算符(=)
- 算术运算符(+,-,*,/)
- 求余运算符(%)
- 自增和自减运算(++,–)
- 一元负号运算符(-)
- 一元正号运算符(+)
- 组合赋值运算符(+=等)
- 比较运算符(==,!=,>,<,>=,<=)
- 三目运算符
- 逻辑运算(!,&&,||)
这十种运算符跟Java是一样的,我们不用去怎么学习他,但是Swift特有Java没有的运算符:
空合运算符(Nil Coalescing Operator)
空合运算符(a ?? b)将对可选类型a进行空判断,如果a包含一个值就进行解封,否则就返回一个默认值b.这个运算符有两个条件:
- 表达式a必须是Optional类型
- 默认值b的类型必须要和a存储值的类型保持一致
空合运算符是对以下代码的简短表达方法
a != nil ? a! : b
区间运算符
闭区间运算符(a…b)定义一个包含从a到b(包括a和b)的所有值的区间,b必须大于等于a。 闭区间运算符在迭代一个区间的所有值时是非常有用的,如在for-in循环中:
for index in 1...5 {
print("\(index) * 5 = \(index * 5)")
}
半开区间(a..<`b)定义一个从a到b但不包括b的区间。 之所以称为半开区间,是因为该区间包含第一个值而不包括最后的值。
半开区间的实用性在于当你使用一个从0开始的列表(如数组)时,非常方便地从0数到列表的长度。
let names = ["Anna", "Alex", "Brian", "Jack"]
let count = names.count
for i in 0..<count {
print("第 \(i + 1) 个人叫 \(names[i])")
}
这样一比较就非常简单了,Swift比Java的基本运算符就多了两种,大家可以多练习练习!