Scala中的Break语句用法示例

2021年3月12日15:18:34 发表评论 1,044 次浏览

Scala中, 我们使用中断声明中断程序中循环的执行。 Scala编程语言不包含break语句的任何概念(在2.8版本以上), 它提供了一个打破方法, 用于中断程序或循环的执行。导入使用break方法scala.util.control.breaks._软件包.

流程图:

Scala中的Break语句1

语法如下:

// 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同样。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: