scala循环中的break语句

break语句

在scala中,break语句与java和python都不一样,而且scala是在2.8版本之后才有的break语句

下面我们用一个实例来看一下break语句是怎么使用的

import scala.util.control._

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

// 在 breakable 中循环
loop.breakable{
    // 循环
	var a = 0
    for( a <- 1 to 3){
		println(a);
		// 循环中断
		if (a == 2){
			loop.break;
        }
   }
}

输出:

1
2

从上面这个例子中,我们可以发现几个问题

1.break是一个对象

2.Breaks对象需要从scala.util.control中导入

3.循环外面需要套上loop.breakable{}

4.跳出循环使用的是loop.break

其中,loop是创建的Breaks对象


下面我们再来看一下break怎么中断嵌套的循环,加深一下对break的使用

实例

import scala.util.control._

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

输出:

Value of a: 1
Value of b: 11
Value of b: 12
Value of a: 2
Value of b: 11
Value of b: 12
Value of a: 3
Value of b: 11
Value of b: 12
Value of a: 4
Value of b: 11
Value of b: 12

从上面这个例子可以看到,当内层循环b=12时,内层循环就退出,13不会被打印出来,继续外层循环。当a=4时,该次循环到达**outer.break;**时就推出了外层循环,整个循环结束。

发布了38 篇原创文章 · 获赞 3 · 访问量 3116

猜你喜欢

转载自blog.csdn.net/weixin_44941795/article/details/104888619
今日推荐