小兔网

Scala 循环 Scala 循环

Scala 语言中默认是没有 break 语句,但是你在 Scala 2.8 版本后可以使用另外一种方式来实现 break 语句。当在循环中使用 break 语句,在执行到该语句时,就会中断循环并执行循环体之后的代码块。

语法

Scala 中 break 的语法有点不大一样,格式如下:

// 导入以下包import scala.util.control._// 创建 Breaks 对象val loop = new Breaks;// 在 breakable 中循环loop.breakable{    // 循环    for(...){       ....       // 循环中断       loop.break;   }}

流程图

2021071307315410635181

实例

import scala.util.control._object Test {   def main(args: Array[String]) {      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" );   }}

执行以上代码输出结果为:

$ scalac Test.scala$ scala TestValue of a: 1Value of a: 2Value of a: 3Value of a: 4After the loop

中断嵌套循环

以下实例演示了如何中断嵌套循环:

import scala.util.control._object Test {   def main(args: Array[String]) {      var a = 0;      var b = 0;      val numList1 = List(1,2,3,4,5);      val numList2 = List(11,12,13);      val outer = new Breaks;      val inner = new Breaks;      outer.breakable {         for( a <- numList1){            println( "Value of a: " + a );            inner.breakable {               for( b <- numList2){                  println( "Value of b: " + b );                  if( b == 12 ){                     inner.break;                  }               }            } // 内嵌循环中断         }      } // 外部循环中断   }}

执行以上代码输出结果为:

$ scalac Test.scala$ scala TestValue of a: 1Value of b: 11Value of b: 12Value of a: 2Value of b: 11Value of b: 12Value of a: 3Value of b: 11Value of b: 12Value of a: 4Value of b: 11Value of b: 12Value of a: 5Value of b: 11Value of b: 12

Scala 循环 Scala 循环