# 迅捷运算符
> 原文: [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)
```
运行该程序时,输出为:
```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)
```
运行该程序时,输出为:
```swift
Value Smaller
```
* * *
根据执行的**操作**,运算符可以分类为:
## 1.赋值运算符
快速使用赋值运算符将值赋给属性(变量/常量)。
Swift Assignment Operators
| 运算符 | 含义 |
| --- | --- |
| `=` | 简单的赋值运算符,将值从右侧操作数赋给左侧操作数 |
| `+=` | 加法赋值运算符,将右操作数添加到左操作数,并将结果赋给左操作数 |
| `-=` | 减法赋值运算符,它从左操作数中减去右操作数,并将结果赋给左操作数 |
| `*=` | 乘法赋值运算符,将右操作数与左操作数相乘并将结果赋给左操作数 |
| `/=` | 除法赋值运算符,它将左操作数除以右操作数,并将结果赋给左操作数 |
| `%=` | 模赋值运算符,它使用两个操作数取模并将结果赋给左操作数 |
| `<<=` | 左移赋值运算符 |
| `>>=` | 右移赋值运算符 |
| `&=` | 按位与赋值运算符 |
| `^=` | 按位异或赋值运算符 |
| |=
| 按位运算符和赋值运算符 |
### 示例 4:普通赋值运算符
```swift
let age = 10
let platform = "iOS"
print(age)
print(platform)
```
运行该程序时,输出为:
```swift
10
iOS
```
上面的示例将整数值 10 赋给常数`age`。 因此,语句`print(age)`在控制台中输出 10。
同样,语句`let platform = "iOS"`将字符串文字`"iOS"`赋给常量`platform`。 因此,语句`print(platform)`在控制台中输出`iOS`。
### 示例 5:复合赋值运算符
```swift
var x = 10
x -= 2
print(x)
```
运行该程序时,输出为:
```swift
8
```
表达式`x -= 2`使用复合赋值运算符`(-=)`,并且是`x = x - 2`的简写。 该运算符是复合赋值运算符,因为该运算符同时执行任务减法和分配。
您可以在本文[中找到有关按位运算符的示例。Swift 按位运算符](/swift-programming/bitwise-operators "Swift Bitwise operators")。
* * *
## 2.算术运算符
这些运算符用于执行数学运算,包括乘法,除法,加法和减法等。该运算符属于采用两个操作数的二进制运算符。
Swift Arithmetic Operators
| 运算符 | 含义 |
| --- | --- |
| + | 加法(也用于字符串连接) |
| - | 减法运算符 |
| * | 乘法运算符 |
| / | 除法运算符 |
| % | 余数运算符 |
### 示例 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
```
运行该程序时,输出为:
```swift
30
-10
10
2
1
I love Swift
```
### 示例 7:算术运算符
您可以使用赋值运算符将结果存储到变量或常量中,如下所示:
```swift
let x = 10 / 5
let y = 3 % 2
print(x)
print(y)
```
运行该程序时,输出为:
```swift
2
1
```
* * *
## 3.比较运算符
这些运算符使您可以比较两个值。 每个比较运算符均返回`Bool`值以指示该语句是否为真。 Swift 支持以下类型的比较运算符:
Swift Comparison Operators
| 运算符 | 含义 | 示例 |
| --- | --- | --- |
| `==` | 等于 | `5 == 3`求值为`false` |
| `!=` | 不等于 | `5 != 3`求值为`true` |
| `>` | 大于 | `5 > 3`求值为 `true` |
| `<` | 小于 | `5 < 3`求值为`false` |
| `>=` | 大于或等于 | `5 >= 5`求值为`true` |
| `<=` | 小于或等于 | `4 <= 5`求值为`true` |
### 示例 8:比较运算符
```swift
let msg = "Hello"
print(msg == "Hello")
print(msg != "Hello")
```
运行该程序时,输出为:
```swift
true
false
```
### 示例 9:大于和小于比较运算符
```swift
print(10 > 20)
print(10 < 20)
print(5 >= 5)
print(5 <= 4)
```
运行该程序时,输出为:
```swift
false
true
true
false
```
* * *
## 4.逻辑运算符
这些运算符与布尔(逻辑)值一起使用,并返回布尔值。 它主要用于通过`if else`,`while`或其他一些控制语句来控制程序流。
Swift Logical Operators
| 运算符 | 含义 | 示例 |
| --- | --- | --- |
| ||
| 逻辑或; 如果任一布尔表达式为`true`,则为`true` | false || true
求值为`true` |
| `&&` | 逻辑与; 如果所有布尔表达式均为`true`,则为`true` | `false && true`求值为`false` |
### 示例 10:逻辑运算符
```swift
print(true && true)
print(true && false)
print(false || true)
```
运行该程序时,输出为:
```swift
true
false
true
```
本文介绍了 Swift 中的一些基本运算符。 但是,Swift 中很少有更高级的运算符,例如[范围运算符](/swift-programming/ranges "Swift ranges"), [Nil 折叠运算符](/swift-programming/optionals#nil-coalescing "Swift Nil-Coalescing operation on optionals"),您将在接下来的教程中学习。
接下来,您将了解 Swift 运算符的[优先级和关联性](/swift-programming/operator-precedence-associativity "Swift operator precedence and associativity")。 简而言之,这是表达式中这些操作的执行顺序。