Scala 中的 Break 语句
在 Scala 中,我们使用break 语句来中断程序中循环的执行。 Scala编程语言不包含任何break语句的概念(2.8以上版本),它提供了一个break
方法来代替break语句,用于中断程序或循环的执行。通过导入scala.util.control.breaks._ package
使用 Break 方法。
流程图:
句法:
// import package
import scala.util.control._
// create a Breaks object
val loop = new breaks;
// loop inside breakable
loop.breakable{
// Loop starts
for(..)
{
// code
loop.break
}
}
或者
import scala.util.control.Breaks._
breakable
{
for(..)
{
code..
break
}
}
例如:
// Scala program to illustrate the
// implementation of break
// Importing break package
import scala.util.control.Breaks._
object MainObject
{
// Main method
def main(args: Array[String])
{
// Here, breakable is used to prevent exception
breakable
{
for (a <- 1 to 10)
{
if (a == 6)
// terminate the loop when
// the value of a is equal to 6
break
else
println(a);
}
}
}
}
输出:
1
2
3
4
5
嵌套循环中的中断:我们也可以在嵌套循环中使用中断方法。
例如:
// Scala program to illustrate the
// implementation of break in nested loop
// Importing break package
import scala.util.control._
object Test
{
// Main method
def main(args: Array[String])
{
var num1 = 0;
var num2 = 0;
val x = List(5, 10, 15);
val y = List(20, 25, 30);
val outloop = new Breaks;
val inloop = new Breaks;
// Here, breakable is used to
// prevent from exception
outloop.breakable
{
for (num1 <- x)
{
// print list x
println(" " + num1);
inloop.breakable
{
for (num2 <- y)
{
//print list y
println(" " + num2);
if (num2 == 25)
{
// inloop is break when
// num2 is equal to 25
inloop.break;
}
}
// Here, inloop breakable
}
}
// Here, outloop breakable
}
}
}
输出:
5
20
25
10
20
25
15
20
25
解释:在上面的例子中,num1 和 num2 的初始值都是 0。现在首先外部 for 循环开始并从 x 列表中打印 5,然后内部 for 循环开始工作并从 y 列表中打印 20、25,当控件进入 num2 == 25 条件时,内部循环会中断。对于 10 和 15 也是如此。