Scala do-while 循环怎么用?

文章导读
Previous Quiz Next 与在循环顶部测试循环条件的 while 循环不同,do-while 循环在循环底部检查其条件。do-while 循环类似于 while 循环,但 do-while 循环保证至少执行一次。
📋 目录
  1. A 语法
  2. B 流程图
  3. C Scala do-while 循环示例
  4. D Scala 3 中 do while 循环的支持
A A

Scala - do-while 循环



Previous
Quiz
Next

与在循环顶部测试循环条件的 while 循环不同,do-while 循环在循环底部检查其条件。do-while 循环类似于 while 循环,但 do-while 循环保证至少执行一次。

语法

以下是 do-while 循环的语法。

do {
   statement(s);
} 
while( condition );

注意条件表达式出现在循环的末尾,因此循环中的语句在测试条件之前会先执行一次。如果条件为真,控制流将跳回到 do,然后循环中的语句再次执行。这个过程会重复进行,直到给定条件变为 false 为止。

流程图

Scala do...while loop

Scala do-while 循环示例

尝试以下示例程序,以理解 Scala 编程语言中的循环控制语句(do while 语句)——

object Demo {
   def main(args: Array[String]) {
      // 本地变量声明:
      var a = 10;

      // do 循环执行
      do {
         println( "Value of a: " + a );
         a = a + 1;
      }
      while( a < 20 )
   }
}

将上述程序保存为 Demo.scala。使用以下命令来编译和执行该程序。

命令

>scalac Demo.scala
>scala Demo

输出

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19

Scala 3 中 do while 循环的支持

Scala 3 中不再直接支持 do-while 循环。虽然像 C++ 和 Java 等其他语言有专用的 do-while 循环语法,但 Scala 选择移除它,转而使用 while 循环来满足所有循环需求。

Scala 移除 do-while 循环的原因如下 ——

  • 表达能力 − 使用块作为条件的 while 循环可以实现与 do-while 循环相同的功能。
  • 简洁性 − 只使用一种循环结构(while)可以使语言更简洁,并减少潜在的混淆。

不过,你仍然可以使用一个小技巧,通过 while 循环来实现类似于 do-while 循环的行为。

尝试以下示例程序,以理解在 Scala 编程语言中使用 while 循环实现类似于 do-while 循环的行为。

示例

object Demo {
  def main(args: Array[String]): Unit = {
    // 本地变量声明:
    var a = 10

    // 使用 while 循环实现的 do-while 循环等价形式
    while (a < 20) {
      println("Value of a: " + a)
      a += 1
    }
  }
}

在这个示例中,我们在每次迭代之前检查条件 a < 20。它将产生与 do-while 循环相同的效果,即只要 a 小于 20 就执行循环体。

将上述程序保存为 Demo.scala。使用以下命令来编译和执行该程序。

命令

>scalac Demo.scala
>scala Demo

输出

Value of a: 10
Value of a: 11
Value of a: 12
Value of a: 13
Value of a: 14
Value of a: 15
Value of a: 16
Value of a: 17
Value of a: 18
Value of a: 19