知识点:三种循环方式
fn main() { // for 循环 — 最常用 for i in 1..=5 { println!("for: {}", i); // 1, 2, 3, 4, 5 } // 1..5 不包含5,1..=5 包含5 // while 循环 let mut count = 3; while count > 0 { println!("while: {}", count); count -= 1; } // loop 循环 — 无限循环,用 break 跳出 let mut n = 0; loop { n += 1; if n > 3 { break; } println!("loop: {}", n); } // loop 可以返回值 let result = loop { n += 1; if n > 10 { break n; // break 后面跟值 } }; println!("loop 返回值: {}", result); }核心规则
循环 适用场景
for 知道循环次数,遍历集合/范围
while 知道结束条件
loop 无限循环,手动 break 退出
动手试试
补全下面的代码:
fn main() { // 补全:用 for 循环打印 1 到 10 每个数的平方 // 期望输出: 1 4 9 16 25 36 49 64 81 100(每个一行) // 补全:用 while 循环计算 1+2+3+...+100 的和 // 提示:声明 mut sum = 0 和 mut i = 1 // 期望输出: 1到100的和: 5050 // 补全:用 loop 循环找到第一个能被 7 整除的大于 50 的数 // 提示:从 51 开始,每次 +1,找到后 break 打印 // 期望输出: 第一个大于50且能被7整除的数: 56 }期望输出:
1
4
9
16
25
36
49
64
81
100
1到100的和: 5050
第一个大于50且能被7整除的数: 56
写好了贴过来,没问题就进入第7课:元组和解构 👋
贴代码
fn main() { // 补全:用 for 循环打印 1 到 10 每个数的平方 // 期望输出: 1 4 9 16 25 36 49 64 81 100(每个一行) for n in 1..=10 { println!("{}", n * n); } // 补全:用 while 循环计算 1+2+3+...+100 的和 // 提示:声明 mut sum = 0 和 mut i = 1 // 期望输出: 1到100的和: 5050 let mut sum = 0; let mut i = 1; while i <= 100 { sum += i; i += 1; } println!("1到100的和: {}", sum); // 补全:用 loop 循环找到第一个能被 7 整除的大于 50 的数 // 提示:从 51 开始,每次 +1,找到后 break 打印 // 期望输出: 第一个大于50且能被7整除的数: 56 let mut num = 51; loop { if num % 7 == 0 { println!("第一个大于50且能被7整除的数: {}", num); break; } num += 1; } }评语
完全正确!👏
你掌握了:
for 循环配合范围 1…=10
while 循环的条件控制
loop 循环配合 break 退出
知识点
- for 循环: 1…=10 是闭区间,包含10; 1…10 是左闭右开,不包含10。
- while 循环:条件满足就继续执行,循环体内记得修改变量,不然会死循环。
- loop 无限循环:必须用 break 跳出;适合不知道循环多少次的场景。
- % 取模运算符: num % 7 == 0 代表可以被7整除。