# 迅捷运算符

> 原文： [https://www.programiz.com/swift-programming/operators](https://www.programiz.com/swift-programming/operators)

#### 在本文中，您将学习有关 Swift 编程语言中不同类型的运算符，它们的语法以及如何在示例中使用它们的所有知识。

运算符是对操作数（变量和值）进行运算的特殊符号（字符）。 一些基本操作包括分配，更改，组合和检查值。

例如，`+`是执行加法的运算符。

在 [Swift 变量&常量](/swift-programming/variables-constants-literals)文章中，您了解了变量/常量。 现在，在本文中，您将在它们上使用运算符。

* * *

## 运算符的类型

您可以根据以下内容将操作符大致分为两个基本类别：

1.  操作数
2.  操作员的操作

根据操作员要操作的操作数的数量，操作员可以分类为：

## 1.一元运算符

该运算符对单个操作数进行运算。

### 示例 1：一元运算符

```swift
print(!true)
var a = -5
print(-a) 
```

当您运行上述程序时，输出将是：

```swift
false
5
```

* * *

## 2.二进制运算符

该运算符对两个操作数进行运算。

### 示例 2：二元运算符

```swift
let result = 20 + 30
print(result) 
```

When you run the above program, the output will be:

```swift
50
```

* * *

## 3.三元运算符

该运算符对三个操作数进行运算。 访问 [Swift 三元条件运算符](/swift-programming/ternary-conditional-operator "Swift ternary conditional operator")了解有关它的更多信息。

### 示例 3：三元运算符

```swift
let result = (5 > 10) ? "Value larger" : "Value Smaller"
print(result) 
```

When you run the above program, the output will be:

```swift
Value Smaller
```

* * *

根据操作员执行的**操作，**可以分类为：

## 1.赋值运算符

快速使用赋值运算符将值分配给属性（变量/常量）。

<caption>Swift Assignment Operators</caption>
| 操作员 | 含义 |
| --- | --- |
| = | 简单的赋值运算符，将值从右侧操作数分配到左侧操作数 |
| += | 添加 AND 赋值运算符，将右操作数添加到左操作数，并将结果分配给左操作数 |
| -= | 减去 AND 赋值运算符，它从左操作数中减去右操作数，并将结果分配给左操作数 |
| *= | 将 AND 赋值运算符相乘，将右操作数与左操作数相乘并将结果分配给左操作数 |
| /= | 除法 AND 赋值运算符，它将左操作数除以右操作数，并将结果分配给左操作数 |
| %= | 模 AND 赋值运算符，它使用两个操作数取模并将结果分配给左操作数 |
| < < = | 左移 AND 赋值运算符 |
| > > = | 右移和赋值运算符 |
| & = | 按位与赋值运算符 |
| ^= | 按位异或和赋值运算符 |
| &#124;= | 按位或运算符和赋值运算符 |

### 示例 4：普通分配运算符

```swift
let age = 10
let platform = "iOS"
print(age)
print(platform) 
```

运行该程序时，输出为：

```swift
10
iOS 
```

上面的示例将整数值 10 分配给常数 `age` 。 因此，语句`print(age)`在控制台中输出 10。

同样，语句`let platform = "iOS"`将字符串文字`"iOS"`分配给常量`平台`。 因此，语句`print(platform)`在控制台中输出 **iOS** 。

### 示例 5：复合赋值运算符

```swift
var x = 10
x -= 2
print(x)
```

When you run the program, the output will be:

```swift
8
```

表达式`x -= 2`使用复合赋值运算符`(-=)`，并且是`x = x - 2`的简写。 该操作员是复合分配操作员，因为该操作员同时执行任务减法和分配。

您可以在本文[中找到有关按位运算符的示例。Swift 按位运算符](/swift-programming/bitwise-operators "Swift Bitwise operators")。

* * *

## 2.算术运算符

这些运算符用于执行数学运算，包括乘法，除法，加法和减法等。该运算符属于采用两个操作数的二进制运算符。

<caption>Swift Arithmetic Operators</caption>
| Operator | Meaning |
| --- | --- |
| + | 加法（也用于字符串连接） |
| - | 减法运算符 |
| * | 乘法运算符 |
| / | 部门运营商 |
| % | 余数运算符 |

### 示例 6：简单的算术运算

```swift
print(10 + 20)
print(10 - 20)
print(2 * 5)
print(5 / 2 ) //division operator
print(5 % 2 ) //remainder operator
print("I love " + "Swift") //operator can also be used to concatenate string 
```

When you run the program, the output will be:

```swift
30
-10
10
2
1
I love Swift 
```

### 示例 7：算术运算符

您可以使用赋值运算符将结果存储到变量或常量中，如下所示：

```swift
let x = 10 / 5
let y = 3 % 2
print(x)
print(y) 
```

When you run the program, the output will be:

```swift
2
1 
```

* * *

## 3.比较运算符

这些运算符使您可以比较两个值。 每个比较运算符均返回 Bool 值以指示该语句是否为真。 Swift 支持以下类型的比较运算符：

<caption>Swift Comparison Operators</caption>
| Operator | Meaning | 例 |
| --- | --- | --- |
| == | 等于 | 5 == 3 评估为假 |
| != | 不等于 | 5！= 3 评估为 true |
| > | 比...更棒 | 5 > 3 评估为 true |
| < | 少于 | 5 < 3 评估为假 |
| > = | 大于或等于 | 5 > = 5 评估为 true |
| < = | 小于或等于 | 4 < = 5 评估为 true |

### 示例 8：比较运算符

```swift
let msg = "Hello"
print(msg == "Hello")
print(msg != "Hello") 
```

When you run the program, the output will be:

```swift
true
false
```

### 示例 9：大于和小于比较运算符

```swift
print(10 > 20)
print(10 < 20)
print(5 >= 5)
print(5 <= 4) 
```

When you run the program, the output will be:

```swift
false
true
true
false 
```

* * *

## 4.逻辑运算符

这些运算符与布尔（逻辑）值一起使用，并返回布尔值。 它主要用于通过 if else，while 或其他一些控制语句来控制程序流。

<caption>Swift Logical Operators</caption>
| Operator | Meaning | Example |
| --- | --- | --- |
| &#124;&#124; | 逻辑或； 如果任一布尔表达式为 true，则为 true | 假&#124;&#124; true 评估为 true |
| & & | 逻辑与； 如果所有布尔表达式均为 true，则为 true | false & & true 评估为 false |

### 示例 10：逻辑运算符

```swift
print(true && true)
print(true && false)
print(false || true) 
```

When you run the program, the output will be:

```swift
true
false
true
```

本文介绍了 Swift 中的一些基本运算符。 但是，Swift 中很少有更高级的运算符，例如[范围运算符](/swift-programming/ranges "Swift ranges")， [Nil-Coalescing 运算符](/swift-programming/optionals#nil-coalescing "Swift Nil-Coalescing operation on optionals")，您将在接下来的教程中学习。

接下来，您将了解 Swift 运算符的[优先级和关联性。 简而言之，这是表达式中这些操作的执行顺序。](/swift-programming/operator-precedence-associativity "Swift operator precedence and associativity")