当前位置: 首页 > 教程 > Swift >

Swift运算符

精华
小牛编辑
110浏览
2023-03-14

运算符是一个符号,告诉编译器执行特定的数学或逻辑操作。 Swift内置运算符丰富,它提供以下类型的运算符 -

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 按位运算符
  • 分配运算符
  • 范围运算符
  • 杂项运算符

本教程将逐一解释算术,关系,逻辑,按位,赋值和其他运算符。

1. 算术运算符

下表显示了Swift 4语言支持的所有算术运算符。 假设变量A=10,变量B=20,则 -

运算符 描述 示例
+ 两个操作数相加 A + B结果为30
- 从第一个操作数减去第二个操作数 A - B结果为-10
* 两个操作数相乘 A * B结果为200
/ 分子除以分母 B / A结果为2
% 模数运算符和整数/浮点除法后的余数 B % A结果为0

2.比较运算符

下表显示了Swift 4语言支持的所有关系运算符。 假设变量A=10,变量B=20,则 -

运算符 描述 示例
== 检查两个操作数的值是否相等; 如果相等,则条件成立。 (A == B)结果为假。
!= 检查两个操作数的值是否相等; 如果不相等,则条件成立。 (A != B)结果为真。
> 检查左操作数的值是否大于右操作数的值; 如果是,则条件成立。 A > B结果为假。
< 检查左操作数的值是否小于右操作数的值; 如果是,则条件成立。 A < B结果为真。
>= 检查左操作数的值是否大于等于右操作数的值; 如果是,则条件成立。 A >= B结果为假。
<= 检查左操作数的值是否小于等于右操作数的值; 如果是,则条件成立。 A <= B结果为真。

3.逻辑运算符

下表显示了Swift 4语言支持的所有逻辑运算符。 假设变量A=1,而变量B=0,则 -

运算符 描述 示例
&& 逻辑与运算符。如果两个操作数都不为零,则条件成立。 (A && B)结果为假。
ΙΙ 逻辑或运算符。 如果两个操作数中的任何一个非零,则条件成立。 (A ΙΙ B)结果为真。
! 逻辑非运算符。用于反转其操作数的逻辑状态。 如果条件为真,则逻辑非运算符将使其为假。 !(A && B)结果为真。

4.按位运算符

按位运算符处理位并执行逐位操作。 &|^的真值表如下 -

假设A = 60; 和B = 13;

在二进制格式中,它们将如下:

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

~A = 1100 0011

下表列出了Swift 4语言支持的按位运算符。 假设变量A=60,变量B=13,则 -

运算符 描述 示例
& 二进制与运算符将一个位复制到结果中(如果它存在于两个操作数中)。 (A & B)结果为:12, 也就是:0000 1100
Ι 二进制或运算符复制一个位,如果它存在于任一操作数中。 (A Ι B)结果为:61, 也就是:0011 1101
^ 二进制异或运算符复制位,如果它在一个操作数中设置但不是两者都设置。 (A ^ B)结果为:49, 也就是:0011 0001
~ 二元一元补语运算符是一元的,具有“翻转”位的效果。 (~A)结果为-61,即2的补码形式为:1100 0011
<< 二进制左移运算符,左操作数值向左移动右操作数指定的位数。 (A << 2结果为:240, 也就是:1111 0000
>> 二进制右移运算符。左操作数值向右移动右操作数指定的位数。 A >> 2结果为:15, 也就是:0000 1111

4.分配运算符

Swift 4支持以下赋值运算符 -

运算符 描述 示例
= 简单赋值运算符,将右侧操作数的值分配给左侧操作数。 C = A + BA + B的值分配给C
+= 相加与赋值运算符,它将右操作数添加到左操作数并将结果赋给左操作数 C += A 相当于 C = C + A
-= 减去与赋值运算符,它从左操作数中减去右操作数,并将结果赋给左操作数 C -= A 相当于 C = C - A
*= 相乘与赋值运算符,它将右操作数与左操作数相乘,并将结果赋给左操作数 C *= A相当于C = C * A
/= 相除与赋值运算符,它将左操作数除以右操作数,并将结果赋给左操作数 C /= A 相当于 C = C / A
%= 模数与赋值运算符,它使用两个操作数获取模数,并将结果赋给左操作数 C %= A 相当于 C = C % A
<<= 左移与赋值运算符 C <<= 2 相当于 C = C << 2
>>= 右移与赋值运算符 C >>= 2 相当于 C = C >> 2
&= 按位与赋值运算符 C &= 2 相当于 C = C & 2
^= 按位异或和赋值运算符 C ^= 2 相当于 C = C ^ 2
Ι= 按位包含OR和赋值运算符 C Ι= 2 相当于 C = C Ι 2

5.范围运算符

Swift 4包括两个范围运算符,它们是表示一系列值的快捷方式。 下表解释了这两个运算符。

运算符 描述 示例
封闭范围 (a ... b)定义从ab的范围,并包括值ab 1 ... 5表示范围:1,2,3,4,5
半开放范围 (a..< b) 定义从ab的范围,但不包括值b 1..< 5表示范围:1, 2, 3, 4
单侧范围 a ...,定义从元素到结尾的范围;... a,定义从开始到a的范围 1 ...给出1,2,3 ...到元素的结尾,... 2开始...到1,2`

6.其它运算符

Swift 4支持其他一些重要的运算符,包括范围和?:,如下表所示。

运算符 描述 示例
一元减号 使用前缀符号-来切换数值 -3-4
一元加号 返回它操作的值,不做任何更改。 +6结果为6
三元条件 条件 ? X : Y 如果条件为真? 然后是值X:否则为Y

7.运算符优先级

运算符优先级确定表达式中的术语分组。 这会影响表达式的计算方式。 某些运算符的优先级高于其他运算符; 例如,乘法运算符的优先级高于加法运算符。

例如,x = 7 + 3 * 2; 这里,x被赋值为13,而不是20,因为运算符 *的优先级高于+,所以它首先执行3 * 2然后再加上7

此处,具有最高优先级的运算符显示在表的顶部,具有最低优先级的运算符显示在底部。 在表达式中,将首先评估更高优先级的运算符。

运算符 描述 顺序
主表达式运算符 () [] . expr++ expr-- 左到右
一元运算符 * & + - ! ~ ++expr --expr * / % + - >> << < > <= >= == != 右到左
二元运算符 & ^ Ι && ΙΙ 左到右
三元运算符 ?: 右到左
赋值运算符 = += -= *= /= %= >>= <<= &= ^= Ι= 右到左
逗号 , 左到右