# 迅捷运算符 > 原文: [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")。 简而言之,这是表达式中这些操作的执行顺序。