本章大致内容都还是比较简单的,基础部分将会稍作省略
1.基础运算符
加: +
减: -
乘: *
除: /
求余: %
赋值: =
简单例子 01:
//运算顺序跟大部分程序一样,先乘除后加减
var a = 1+1*9
print(a)
2.比较运算符
等于: ==
不等于: !=
大于: >
小于: <
小于等于: <=
大于等于: >=
简单例子 02:
var b = 10
if b > 8 {
print(" b > 8 ")
}
3.逻辑运算符
逻辑与: &&
逻辑或: ||
逻辑非: !
简单例子03:
var c = 10
var d = 10
if c == 10 && d == 10 {
print("判断正确")
}
4.三元运算符
用法和其他编程语言同样
简单例子04:
//a为真取b的值,为假的时候取c的值
a ? b : c
5.空合运算符(Nil Coalescing Operator)
我个人认为这是一个小小的重点
空合运算符(a ?? b)将对可选类型 a 进行空判断,如果 a 包含一个值就进行解包,否则就返回一个默认值 b。表达式 a 必须是 Optional 类型。默认值 b 的类型必须要和 a 存储值的类型保持一致。
空合运算符是对以下代码的简短表达方法:
a != nil ? a! : b
上述代码使用了三元运算符。当可选类型 a 的值不为空时,进行强制解封(a!),访问 a 中的值;反之返回默认值 b。无疑空合运算符(??)提供了一种更为优雅的方式去封装条件判断和解封两种行为,显得简洁以及更具可读性。
简单例子05:
var test:String? = "非空"
var value3 = test ?? "空"
print(value3)
//输出结果为 非空
/* 含义解释
当test有值的时候取test本身,没有值的时候取 “空” */
6.区间运算符(Range Operators)
这里仅介绍闭区间与半开区间运算符
6.1闭区间运算符
闭区间运算符(a…b)定义一个包含从 a 到 b(包括 a 和 b)的所有值的区间。a 的值不能超过 b。
闭区间运算符在迭代一个区间的所有值时是非常有用的,如在 for-in 循环中:
for index in 1...5 {
print("\(index) * 5 = \(index * 5)")
}
//输出结果
// 1 * 5 = 5
// 2 * 5 = 10
// 3 * 5 = 15
// 4 * 5 = 20
// 5 * 5 = 25
6.2半开区间运算符
半开区间运算符(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])")
}
//输出结果
// 第 1 个人叫 Anna
// 第 2 个人叫 Alex
// 第 3 个人叫 Brian
// 第 4 个人叫 Jack
//数组有 4 个元素,但 0..<count 只数到3(最后一个元素的下标),因为它是半开区间。
注:部分实例来自于中文文档当中
扩展文档:Swift5.1 基础运算符