Scala break 语句

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;
 }
}

流程图

实例

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 Test
Value of a: 1
Value of a: 2
Value of a: 3
Value of a: 4
After 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 Test
Value of a: 1
Value of b: 11
Value of b: 12
Value of a: 2
Value of b: 11
Value of b: 12
Value of a: 3
Value of b: 11
Value of b: 12
Value of a: 4
Value of b: 11
Value of b: 12
Value of a: 5
Value of b: 11
Value of b: 12

Scala 循环 Scala 循环

    0 个评论

    要回复文章请先登录注册