《Rust编程入门》4.3 运算符与表达式
4.3 运算符与表达式
在 Rust 中,运算符和表达式是编写逻辑的重要组成部分。Rust 提供了一系列运算符,用于完成数学运算、比较、逻辑处理和位操作。同时,Rust 的表达式结构使代码既清晰又高效。本节将详细介绍 Rust 的运算符种类及其用法,并探讨表达式的特点。
4.3.1 算术运算符
Rust 支持基本的算术运算符,用于处理数值计算。
| 运算符 | 描述 | 示例 |
|---|---|---|
+ |
加法 | a + b |
- |
减法 | a - b |
* |
乘法 | a * b |
/ |
除法(整数会截断) | a / b |
% |
取模(求余数) | a % b |
示例:算术运算
fn main() {
let a = 10;
let b = 3;
println!("加法: {}", a + b);
println!("减法: {}", a - b);
println!("乘法: {}", a * b);
println!("除法: {}", a / b);
println!("取模: {}", a % b);
}
注意:
- 除法操作中,如果分母为零会导致运行时错误。
- 对整数进行除法时,结果会向零截断。
4.3.2 关系运算符
关系运算符用于比较两个值,返回一个布尔值 true 或 false。
| 运算符 | 描述 | 示例 |
|---|---|---|
== |
等于 | a == b |
!= |
不等于 | a != b |
< |
小于 | a < b |
> |
大于 | a > b |
<= |
小于等于 | a <= b |
>= |
大于等于 | a >= b |
示例:关系运算
fn main() {
let x = 5;
let y = 10;
println!("x == y: {}", x == y);
println!("x != y: {}", x != y);
println!("x < y: {}", x < y);
println!("x > y: {}", x > y);
println!("x <= y: {}", x <= y);
println!("x >= y: {}", x >= y);
}
4.3.3 逻辑运算符
逻辑运算符用于布尔值之间的逻辑操作。
| 运算符 | 描述 | 示例 |
|---|---|---|
&& |
逻辑与(AND) | a && b |
| ` | ` | |
! |
逻辑非(NOT) | !a |
示例:逻辑运算
fn main() {
let a = true;
let b = false;
println!("a && b: {}", a && b);
println!("a || b: {}", a || b);
println!("!a: {}", !a);
}
4.3.4 位运算符
位运算符用于对整数类型的位进行操作。
| 运算符 | 描述 | 示例 |
|---|---|---|
& |
按位与 | a & b |
| ` | ` | 按位或 |
^ |
按位异或 | a ^ b |
<< |
左移 | a << b |
>> |
右移 | a >> b |
示例:位运算
fn main() {
let a = 2; // 二进制:10
let b = 3; // 二进制:11
println!("按位与: {}", a & b); // 结果:2
println!("按位或: {}", a | b); // 结果:3
println!("按位异或: {}", a ^ b); // 结果:1
println!("左移: {}", a << 1); // 结果:4
println!("右移: {}", b >> 1); // 结果:1
}
4.3.5 赋值运算符
Rust 提供了多种复合赋值运算符,用于简化代码。
| 运算符 | 描述 | 示例 |
|---|---|---|
= |
赋值 | a = b |
+= |
加后赋值 | a += b |
-= |
减后赋值 | a -= b |
*= |
乘后赋值 | a *= b |
/= |
除后赋值 | a /= b |
%= |
取模后赋值 | a %= b |
示例:赋值运算
fn main() {
let mut x = 10;
x += 5;
println!("加后赋值: {}", x);
x *= 2;
println!("乘后赋值: {}", x);
}
4.3.6 表达式与语句
Rust 中的大部分代码片段都是表达式。表达式会返回一个值,而语句则是执行某种操作但不返回值。
表达式
- 表达式总是有一个值。
- 常见的表达式包括字面值、运算符、块等。
示例:表达式
fn main() {
let x = 5;
let y = {
let z = x + 1;
z * 2 // 表达式的值是 z * 2
};
println!("y 的值: {}", y);
}
语句
- 语句不返回值。
- 常见的语句包括变量声明和
;结尾的代码行。
示例:语句
fn main() {
let x = 5; // 声明语句,不返回值
}
4.3.7 小结
Rust 提供丰富的运算符,涵盖算术、逻辑、关系和位操作,结合其表达式和语句的灵活设计,使得代码既高效又易读。理解这些基础内容,将为后续的复杂逻辑开发奠定坚实基础。
下一节将介绍 Rust 中的常用函数及其使用,帮助你在编程中更好地组织代码逻辑。