Rust 运算符
运算符 用于对数据执行一些操作。
被 运算符 执行操作的数据我们称之为 操作数。
Rust 语言支持以下四种运算符:
- 算术运算符
- 位运算符
- 关系运算符
- 逻辑运算符
1. Rust 算术运算符
算术运算符就是我们日常所使用的 加减乘除求余 五则运算。
下表列出了 Rust 语言支持的所有算术运算符。
在下表中,我们假设 a = 10 且 b = 5。
详细的范例请访问 算术运算符
名称 | 运算符 | 范例 |
---|---|---|
加 | + | a+b 的结果为 15 |
减 | - | a-b 的结果为 5 |
乘 | * | a*b 的结果为 50 |
除 | / | a / b 的结果为 2 |
求余 | % | a % b 的结果为 0 |
注意:Rust 语言不支持自增自减运算符 ++ 和 --。
2. Rust 关系运算符
关系运算符测试或定义两个实体之间的关系类型。
关系运算符用于比较两个或多个值之间的关系,是大于,是等于还是小于。
关系运算符的返回结果为 布尔类型。
下表列出了 Rust 语言支持的所有关系运算符。
在下表中,我们假设 A = 10 且 B = 20。
详细的范例请访问 关系运算符范例
名称 | 运算符 | 说明 | 范例 |
---|---|---|---|
大于 | > | 如果左操作数大于右操作数则返回 true 否则返回 false | (A > B) 返回 false |
小于 | < | 如果左操作数小于于右操作数则返回 true 否则返回 false | (A < B) 返回 true |
大于等于 | >= | 如果左操作数大于或等于右操作数则返回 true 否则返回 false | (A >= B) 返回 false |
小于等于 | <= | 如果左操作数小于或等于右操作数则返回 true 否则返回 false | (A <= B) 返回 true |
等于 | == | 如果左操作数等于右操作数则返回 true 否则返回 false | (A == B) 返回 true |
不等于 | != | 如果左操作数不等于右操作数则返回 true 否则返回 false | (A != B) 返回 false |
3. Rust 逻辑运算符
逻辑运算符用于组合两个或多个条件。
逻辑运算符的返回结果也是布尔类型。
下表列出了 Rust 语言支持的所有逻辑运算符。
在下表中,我们假设 A = 10 且 B = 20。
详细的范例请访问 逻辑运算符范例
名称 | 运算符 | 说明 | 范例 |
---|---|---|---|
逻辑与 | && | 两边的条件表达式都为真则返回 true 否则返回 false | (A > 10 && B > 10) 的结果为 false |
逻辑或 | || | 两边的条件表达式只要有一个为真则返回 true 否则返回 false | (A > 10 || B >10) 的结果为 true |
逻辑非 | ! | 如果表达式为真则返回 false 否则返回 true | !(A >10) 的结果为 true |
4. Rust 位运算符
下表列出了 Rust 支持的所有位运算操作。
我们假设变量 A = 2 且变量 B = 3。
A 的二进制格式为
0 0 0 0 0 0 1 0
B 的二进制位格式为
0 0 0 0 0 0 1 1
名字 | 运算符 | 说明 | 范例 |
---|---|---|---|
位与 | & | 相同位都是 1 则返回 1 否则返回 0 | (A & B) 结果为 2 |
位或 | | | 相同位只要有一个是 1 则返回 1 否则返回 0 | (A | B) 结果为 3 |
异或 | ^ | 相同位不相同则返回 1 否则返回 0 | (A ^ B) 结果为 1 |
位非 | ! | 把位中的 1 换成 0 , 0 换成 1 | (!B) 结果 -4 |
左移 | << | 操作数中的所有位向左移动指定位数,右边的位补 0 | (A << 1) 结果为 4 |
右移 | >> | 操作数中的所有位向右移动指定位数,左边的位补 0 | (A >> 1) 结果为 1 |
下一章:Rust 条件语句
条件语句是在程序执行过程中判断设定的条件是否成立,根据判断结果执行不同的操作。Rust 语言中条件语句有if 和 match 两种形式。Rust 条件语句包括:Rust if 语句、Rust if else 语句、Rust 嵌套 If 语句、Rust match 语句。