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

* / %

+ -

>> <<

< > <= >=

== !=

从右到左
二元运算符 & ^ | && || 从左到右
三元运算符 ?: 从右到左
赋值运算符 (= += -= *= /= %= >>= <<= &= ^= |=) 从右到左
逗号 , 从左到右
广告

© . All rights reserved.