Scala 循环

Scala 循环

循环

您可能会遇到需要多次执行一段代码的情况。通常,语句是按顺序执行的:函数中的第一个语句首先执行,然后第二个执行,依此类推。编程语言提供了各种控制结构,允许更复杂的执行路径。循环语句使我们可以多次执行一个语句或一组语句。下面给出的是大多数编程语言中循环语句的一般形式-

Scala 循环

Scala语言提供了以下类型的循环来处理循环需求。

循环类型 描述
while循环 在给定条件为真时重复一个语句或一组语句。它在执行循环体之前测试条件。
for循环 多次执行一系列语句,并简化管理循环变量的代码。
do… while循环 它更像while语句,除了它在循环主体的末尾测试条件(do…while循环至少会执行一次)。
嵌套循环 您可以在任何其他while,for或do..while循环内使用一个或多个循环。

while循环

语法

while(condition){
   statement(s);
}

流程图

Scala 循环

这里,要注意的关键是,while循环可能根本不执行。当测试条件第一次并且结果为false时,将跳过循环主体,并执行while循环之后的第一条语句。

范例

object Demo {
   def main(args: Array[String]):Unit = {
      // Local variable declaration:
      var a = 10;

      // while loop execution
      while( a < 20 ){
         println( "Value of a: " + a );
         a = a + 1;
      }
   }
}

for循环

语法

for( var x <- Range ){
   statement(s);
}

在这里,Range可以是一个数字Range,它表示为i到j或有时像i直到j。左箭头←运算符称为generator,之所以这样命名,是因为它正在生成Range内的各个值。尝试使用以下示例程序来了解Scala编程语言中的循环控制语句(for语句)。

范例

object Demo {
   def main(args: Array[String]):Unit = {
      var a = 0;

      // for loop execution with a range
      for( a <- 1 to 10){
         println( "Value of a: " + a );
      }
   }
}

do…while循环

与for和while循环不同,for和while循环在循环的顶部测试循环条件,而C语言中的do … while循环在循环的底部检查其条件。do…while循环类似于while循环,但事实上,它是保证执行至少一次。

语法

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

请注意,条件表达式出现在循环的末尾,因此循环中的语句在测试条件之前执行一次。如果条件为真,则控制流跳回去do,并且循环中的语句再次执行。重复此过程,直到给定条件变为假。

流程图

Scala 循环

范例

object Demo {
   def main(args: Array[String]):Unit = {
      // Local variable declaration:
      var a = 10;

      // do loop execution
      do {
         println( "Value of a: " + a );
         a = a + 1;
      }
      while( a < 20 )
   }
}

循环控制语句

循环控制语句从其正常顺序更改执行。当执行离开作用域时,在该作用域中创建的所有自动对象都将被销毁。C支持以下控制语句。

控制声明 描述
break声明 终止循环或switch语句,并在循环或switch后立即将执行的语句。

break声明

因此,Scala中没有内置的break语句,但是如果你运行的是Scala 2.8+版本,那么就可以使用break语句。当在循环中遇到break语句时,循环立即终止,程序控制在循环之后的下一个语句处恢复。

语法

// 导入包
import scala.util.control._

// 创建一个break对象,如下所示
val loop = new Breaks;

// 保持循环内部的可breakable,如下所示
loop.breakable {
   // 这里开始循环
   for(...){
      ....

      // Break will go here
      loop.break;
   }
}

流程图

Scala 循环

范例

import scala.util.control._

object Demo {
   def main(args: Array[String]):Unit = {
      var a = 0;
      val numList = List(1,2,3,4,5,6,7,8,9,10);

      val loop = new Breaks;

      loop.breakable {
         for( a <- numList){
            println( "Value of a: " + a );

            if( a == 4 ){
               loop.break;
            }
         }
      }
      println( "After the loop" );
   }
}

无限循环

如果条件永远不会为假,则循环将变成无限循环。如果您使用的是Scala,则while循环是实现无限循环的最佳方法。以下程序实现了无限循环。

object Demo {
   def main(args: Array[String]):Unit = {
      var a = 10;

      // An infinite loop.
      while( true ){
         println( "Value of a: " + a );
      }
   }
}

如果执行上述代码,它将进入无限循环,您可以通过按Ctrl + C键终止。

Value of a: 10
Value of a: 10
Value of a: 10
Value of a: 10
…………….

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程