📜  Scala 中的 Break 语句

📅  最后修改于: 2022-05-13 01:55:06.826000             🧑  作者: Mango

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 也是如此。