Rust编程中的循环语句

【图书介绍】《Rust编程与项目实战》-CSDN博客

《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com)

Rust编程与项目实战_夏天又到了的博客-CSDN博客

6.2  for  循  环

迭代次数是确定/固定的循环称为确定循环。for 循环是一个确定循环。for 循环执行代码块指定的次数。它可用于迭代一组固定的值,例如数组。for 循环的语法如下:

for temp_variable in lower_bound..upper_bound {
    //代码语句
}

temp_variable是一个临时变量,取值范围是[lower_bound,upper_bound-1],也就是让temp_variable不断改变取值(从lower_bound开始,每次加1),不断执行代码语句。

第一次temp_variable取值是lower_bound,然后执行代码语句;第二次temp_variable取值是lower_bound+1,然后执行代码语句;第三次temp_variable取值是lower_bound+2,然后执行代码语句,以此类推,一直到temp_variable取值upper_bound−1,此时将最后一次执行代码语句,则整个for循环结束。

注意:循环次数从lower_bound到upper_bound−1,不包括upper_bound。另外,花括号不能省略,即使只有一条代码语句。

下面举一个for循环的例子:

fn main(){
    for x in 0..10
    {
      print!("{},", x);
    }
}

输出结果如下:

0,1,2,3,4,5,6,7,8,9,

可见,x的取值范围为0~9,不包括10,0~9已经是10次了,所以执行了10次打印语句。

6.3  while  循  环

当循环中的迭代次数不确定或未知时,通常使用while循环。while循环的语法格式如下:

while 表达式
{
    循环体内的语句
}

这种循环语句中的表达式是循环语句能否继续运行的条件,其功能是保证语句循环运行。只要表达式为true,就可以执行循环体内的语句,否则终止循环,执行循环体外的语句。比如:

fn main(){
    let mut x = 0;
    while x < 5{
        x+=1;
        println!("inside loop x value is {}",x);
    }
     println!("outside loop x value is {}",x);
 }

值得注意的是,即使循环体内的语句只有一句,花括号依旧不能少。

Rust语言到写本书时还没有do-while的用法,但是do被规定为保留字,也许以后的版本中会   用到。

6.4  loop  循  环

loop告诉Rust永远重复执行一段代码,直到明确地告诉需要停止为止,否则将一直重复执行(直到你的机器没电为止),相当于一个while无限循环。示例代码如下:

fn main() {
    loop {
        println!("loop!");
    }
}

执行该代码,不出意外的话将不会停止打印loop:

loop
loop
loop
loop
loop
loop
loop
...

如果程序在VS Code中运行,则单击右上角的红色矩形按钮才会停止程序。如果该程序在命令行窗口执行,则需要按快捷键Ctrl+C才会停止程序。这里的loop循环也可以改写为:

while true{
    println!("loop!");
}

6.5  break  语  句

通过使用break语句,即使在没有满足结束条件的情况下,也可以跳出一个循环。break可以被用来结束一个无限循环(Infinite Loop),或强迫循环在其自然结束之前结束。例如,我们想要在倒计数自然结束之前强迫它停止。break语句可以用在for、while和loop循环体中。

break既可以单独使用,也可以带参数,这个参数将作为循环体的返回值。

6.5.1  break单独使用

单独使用时,break的作用就是跳出循环,比如:

fn main(){
    let mut x = 0;
    loop {
        x+=1;
        println!("x={}",x);
        if x==5 {
            break;
        }
    }
}

当满足x等于5的时候,就执行break语句,然后跳出loop循环,循环结束。输出结果如下:

x=1
x=2
x=3
x=4
x=5

这个程序终止无限循环,当然也可以终止非无限循环,比如:

fn main() {
    let mut x = 0;
    while x < 30 {
        x += 1;
        println!("{}", x);
        if x>5 {break;}
    }
    println!("循环结束了");
}

本来要执行30次循环,但一旦x大于5,就要执行break语句,从而提前跳出循环。输出结果     如下:

1
2
3
4
5
6
循环结束了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值