四十三、Scala 之break 语句

四十三、Scala 之break 语句

当在循环中使用 break 语句,在执行到该语句时,就会中断循环并执行循环体之后的代码块。

Scala 语言中默认是没有 break 语句,但是你在 Scala 2.8 版本后可以使用另外一种方式来实现 break 语句。

语法

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 导入以下包
import scala.util.control._

// 创建 Breaks 对象
val loop = new Breaks;

// 在 breakable 中循环
loop.breakable{
// 循环
for(...){
....
// 循环中断
loop.break;
}
}

范例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import scala.util.control._

object Test {
def main(args: Array[String]) {
var a = 0;
val numList = List(1,2,3);

val loop = new Breaks;
loop.breakable {
for( a <- numList){
println( "Value of a: " + a );
if( a == 2 ){
loop.break;
}
}
}
println( "After the loop" );
}
}

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

1
2
3
Value of a: 1
Value of a: 2
After the loop

中断嵌套循环

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import scala.util.control._

object Test {
def main(args: Array[String]) {
var a = 0;
var b = 0;
val numList1 = List(1,2,3);
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;
}
}
} // 内嵌循环中断
}
} // 外部循环中断
}
}

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

1
2
3
Value of a: 1
Value of a: 2
After the loop