- Swift 教程
- Swift - 首页
- Swift - 概述
- Swift - 环境
- Swift - 基本语法
- Swift - 变量
- Swift - 常量
- Swift - 字面量
- Swift - 注释
- Swift 运算符
- Swift - 运算符
- Swift - 算术运算符
- Swift - 比较运算符
- Swift - 逻辑运算符
- Swift - 赋值运算符
- Swift - 位运算符
- Swift - 其他运算符
- Swift 高级运算符
- Swift - 运算符重载
- Swift - 算术溢出运算符
- Swift - 恒等运算符
- Swift - 范围运算符
- Swift 数据类型
- Swift - 数据类型
- Swift - 整数
- Swift - 浮点数
- Swift - Double
- Swift - 布尔值
- Swift - 字符串
- Swift - 字符
- Swift - 类型别名
- Swift - 可选类型
- Swift - 元组
- Swift - 断言和前提条件
- Swift 控制流
- Swift - 决策
- Swift - if 语句
- Swift - if...else if...else 语句
- Swift - if-else 语句
- Swift - 嵌套 if 语句
- Swift - switch 语句
- Swift - 循环
- Swift - for in 循环
- Swift - while 循环
- Swift - repeat...while 循环
- Swift - continue 语句
- Swift - break 语句
- Swift - fall through 语句
- Swift 集合
- Swift - 数组
- Swift - 集合
- Swift - 字典
- Swift 函数
- Swift - 函数
- Swift - 嵌套函数
- Swift - 函数重载
- Swift - 递归
- Swift - 高阶函数
- Swift 闭包
- Swift - 闭包
- Swift - 转义和非转义闭包
- Swift - 自动闭包
- Swift 面向对象编程
- Swift - 枚举
- Swift - 结构体
- Swift - 类
- Swift - 属性
- Swift - 方法
- Swift - 下标
- Swift - 继承
- Swift - 重写
- Swift - 初始化
- Swift - 析构
- Swift 高级
- Swift - ARC 概述
- Swift - 可选链
- Swift - 错误处理
- Swift - 并发
- Swift - 类型转换
- Swift - 嵌套类型
- Swift - 扩展
- Swift - 协议
- Swift - 泛型
- Swift - 访问控制
- Swift - 函数与方法
- Swift - SwiftyJSON
- Swift - 单例类
- Swift 随机数
- Swift 不透明类型和装箱类型
- Swift 有用资源
- Swift - 在线编译
- Swift - 快速指南
- Swift - 有用资源
- Swift - 讨论
Swift - 运算符
什么是 Swift 中的运算符?
运算符是告诉编译器执行特定数学或逻辑操作的符号。或者我们可以说运算符是用于在一个或多个操作数之间执行特定操作的特殊符号。
例如,要将两个数字(例如 34 和 21)相加,我们将使用 + 运算符 (34 + 21 = 55)。
Swift 中的运算符类型
Swift 支持以下类型的运算符:
- 算术运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 范围运算符
- 其他运算符
让我们分别详细讨论每个运算符。
Swift 算术运算符
算术运算符用于对给定的操作数执行数学运算,如加法、除法、乘法等。它们始终作用于两个操作数,但这些操作数的类型应相同。Swift 支持以下算术运算符:
| 运算符 | 名称 | 示例 |
|---|---|---|
| + | 加法 | 20 + 30 = 50 |
| - | 减法 | 30 - 10 = 20 |
| * | 乘法 | 10 * 10 = 100 |
| / | 除法 | 20 / 5 = 4 |
| % | 取模 | 10 % 2 = 0 |
Swift 比较运算符
比较运算符用于比较两个操作数并找出它们之间的关系。它们将结果返回为布尔值(true 或 false)。Swift 支持以下比较运算符:
| 运算符 | 名称 | 示例 |
|---|---|---|
| (==) | 等于 | 10 == 10 = true |
| != | 不等于 | 34 != 30 = true |
| > | 大于 | 90 > 34 = true |
| < | 小于 | 12 < 34 = true |
| >= | 大于或等于 | 30 >= 10 = true |
| <= | 小于或等于 | 10 <= 32 = true |
Swift 逻辑运算符
逻辑运算符用于在给定的表达式之间执行逻辑运算。它还可以根据多个条件做出决策。它通常与布尔值一起使用。Swift 支持以下逻辑运算符:
| 运算符 | 名称 | 示例 |
|---|---|---|
| && | 逻辑与 | X && Y |
| || | 逻辑或 | X || Y |
| ! | 逻辑非 | !X |
Swift 位运算符
位运算符用于操作整数的各个位。它们通常用于执行位级操作。Swift 支持以下位运算符:
| 运算符 | 名称 | 示例 |
|---|---|---|
| & | 按位与 | X & Y |
| | | 按位或 | X | Y |
| ^ | 按位异或 | X ^ Y |
| ~ | 按位非 | ~X |
| << | 左移 | X << Y |
| >> | 右移 | X >> Y |
Swift 赋值运算符
赋值运算符用于为给定变量分配和更新新值。Swift 支持以下赋值运算符:
| 运算符 | 名称 | 示例 |
|---|---|---|
| (=) | 赋值 | X = 10 |
| += | 加法赋值 | X = X + 12 |
| -= | 减法赋值 | X = X - 12 |
| *= | 乘法赋值 | X = X * 12 |
| /= | 除法赋值 | X = X / 12 |
| %= | 取模赋值 | X = X % 12 |
| <<= | 左移赋值 | X = X << 12 |
| >>= | 右移赋值 | X = X >> 12 |
| &= | 按位与赋值 | X = X & 12 |
| ^= | 按位异或赋值 | X = X ^12 |
| |= | 按位或赋值 | X = X | 12 |
Swift 其他运算符
除了通用运算符外,Swift 还支持一些特殊运算符,它们是:
| 运算符 | 名称 | 示例 |
|---|---|---|
| - | 一元负号 | -9 |
| + | 一元正号 | 2 |
| 条件 ? X : Y | 三元条件运算符 | 如果条件为真 ? 则值为 X : 否则值为 Y |
Swift 高级运算符
除了基本运算符外,Swift 还提供了一些高级运算符,用于操作复杂值,它们是:
- 算术溢出运算符
- 恒等运算符
- 恒等运算符
让我们分别详细讨论每个运算符。
Swift 算术溢出运算符
算术溢出运算符用于执行算术运算,并在发生溢出时很好地处理溢出。或者我们可以说算术运算符与那些值可能超过最大或最小边界的整数一起工作。Swift 支持以下算术溢出运算符:
| 运算符 | 名称 | 示例 |
|---|---|---|
| &+ | 溢出加法 | Num1 &+ Num2 |
| &- | 溢出减法 | Num1 &- Num2 |
| &* | 溢出乘法 | Num1 &* Num2 |
Swift 恒等运算符
恒等运算符用于确定给定变量是否引用同一个实例。这些运算符与对象和类一起使用。它们是引用类型运算符。Swift 支持以下类型的恒等运算符:
| 运算符 | 名称 | 示例 |
|---|---|---|
| +=== | 恒等 | Value1 === Value2 |
| !== | 不恒等 | Value2 !== Value2 |
Swift 范围运算符
范围运算符用于定义范围。它们用于循环、集合和控制流语句中。Swift 支持以下范围运算符:
| 运算符 | 名称 | 示例 |
|---|---|---|
| X…Y | 闭区间 | 1…3 = 1, 2, 3 |
| X..<Y | 半开区间 | 1..<3 = 1, 2 |
| X… 或 …X | 单侧范围 | 2… = 2, 3, 4, |
Swift 运算符优先级
运算符优先级决定了表达式中术语的组合方式。这会影响表达式的计算方式。某些运算符的优先级高于其他运算符;例如,乘法运算符的优先级高于加法运算符。
例如,x = 7 + 3 * 2; 这里,x 被赋值为 13,而不是 20,因为运算符 * 的优先级高于 +,所以它首先与 3*2 相乘,然后加到 7 中。
这里,优先级最高的运算符出现在表的最上面,优先级最低的出现在最下面。在表达式中,优先级较高的运算符将首先被计算。
| 名称 | 运算符 | 优先级 |
|---|---|---|
| 主要表达式运算符 | () [] . expr++ expr-- | 从左到右 |
| 一元运算符 |
* & + - ! ~ ++expr --expr * / % + - >> << < > <= >= == != |
从右到左 |
| 二元运算符 | & ^ | && || | 从左到右 |
| 三元运算符 | ?: | 从右到左 |
| 赋值运算符 | (= += -= *= /= %= >>= <<= &= ^= |=) | 从右到左 |
| 逗号 | , | 从左到右 |