系列文章目录
Rust 语言是一种高效、可靠的通用高级语言,效率可以媲美 C / C++ 。本系列文件记录博主自学Rust的过程。欢迎大家一同学习。
Rust学习入门–【1】引言
Rust学习入门–【2】Rust 开发环境配置
Rust学习入门–【3】Cargo介绍
Rust学习入门–【4】Rust 输出到命令行
Rust学习入门–【5】源代码文件结构简介
Rust学习入门–【6】Rust 基础语法
Rust学习入门–【7】Rust 数据类型
Rust学习入门–【8】复合类型
Rust学习入门–【9】Rust 函数
Rust学习入门–【10】Rust 条件语句
Rust学习入门–【11】Rust 运算符
Rust学习入门–【12】Rust 循环
Rust学习入门–【13】Rust 字符串(上)
Rust学习入门–【14】Rust 字符串(下)
Rust学习入门–【15】Rust 所有权
Rust学习入门–【16】Rust 借用所有权 Borrowing / 引用
Rust学习入门–【17】Rust Slice(切片)类型
Rust 运算符
运算符 用于对数据执行一些操作。
被 运算符 执行操作的数据我们称之为 操作数。
例如我们常见的加法运算,那么 加号 ( + ) 就是一个运算符。
Rust 语言支持以下四种运算符
- 算术运算符
- 位运算符
- 关系运算符
- 逻辑运算符
算术运算符
算术运算符就是我们日常所使用的 加减乘除求余 五则运算。
例如下面的程序是错误的:
名称 | 运算符 | 范例 |
---|---|---|
加 | + | a+b 的结果为 15 |
减 | - | a-b 的结果为 5 |
乘 | * | a*b 的结果为 50 |
除 | / | a / b 的结果为 2 |
求余 | % | a % b 的结果为 0 |
注意
Rust 语言不支持自增自减运算符 ++ 和 --
关系运算符
关系运算符用于比较两个或多个值之间的关系,是大于,是等于还是小于。关系运算符的返回结果为 布尔类型。
名称 | 运算符 | 说明 | 范例 |
---|---|---|---|
大于 | > | 如果左操作数大于右操作数则返回 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 |
逻辑运算符
逻辑运算符用于组合两个或多个条件,逻辑运算符的返回结果也是布尔类型。
名称 | 运算符 | 说明 | 范例 |
---|---|---|---|
逻辑与 | && | 两边的条件表达式都为真则返回 true 否则返回 false | (A > 10 && B > 10) 的结果为 false |
逻辑或 | || | 两边的条件表达式只要有一个为真则返回 true 否则返回 false | (A > 10 || B >10) 的结果为 true |
逻辑非 | ! | 如果表达式为真则返回 false 否则返回 true | !(A >10) 的结果为 true |
位运算符
我们假设变量 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 |
异或 | ^ | 相同位不相同则返回 1 否则返回 0 | (A ^ B) 结果为 1 |
位非 | ! | 把位中的 1 换成 0 , 0 换成 1 | (!B) 结果 -4 |
左移 | << | 操作数中的所有位向左移动指定位数,右边的位补 0 | (A << 1) 结果为 4 |
右移 | >> | 操作数中的所有位向右移动指定位数,左边的位补 0 | (A >> 1) 结果为 1 |