在Scala中, 我们使用中断声明中断程序中循环的执行。 Scala编程语言不包含break语句的任何概念(在2.8版本以上), 它提供了一个打破方法, 用于中断程序或循环的执行。导入使用break方法scala.util.control.breaks._软件包.
流程图:
语法如下:
// 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
}
}
or
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 num 1 = 0 ;
var num 2 = 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 (num 1 < - x)
{
// print list x
println( " " + num 1 );
inloop.breakable
{
for (num 2 < - y)
{
//print list y
println( " " + num 2 );
if (num 2 == 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同样。