在Scala中如何中断循环?

Scala中的循环:循环是一种语句,可以根据某种条件多次执行代码块。

在Scala中,存在三种循环类型,

  1. for循环

  2. while循环

  3. 做... while循环

中断循环

为了中断Scala中的循环,我们使用break语句,因为没有直接的break语句,而是有一个break方法用于中断Scala中的循环。

需要使用以下方法导入break方法:

import scala.util.control.Breaks._

语法:

以下语法用于中断循环,

var loop = new breaks;
Loop.breakable{	loop(){
		//循环体
		Loop.break;
	}
}

1)中断for循环

for循环用于在程序中多次执行代码块。

示例

// 程序在Scala中中断for循环

import scala.util.control._

object MyClass {
	def main(args: Array[String]) {
		var loop = new Breaks;
		loop.breakable{
			for(i <-  1 to 10){
				println(i*5); 
				// 循环将在i = 6时中断
				if(i == 6){
					loop.break; 
				}
			}
		}
	}
}

输出:

5
10
15
20
25
30

描述:

在上面的代码中,我们显示了如何使用break方法来中断for循环。我们使用Breaks类的对象创建了一个易碎的代码块,名为loop的对象可以创建一个在其中应用break语句的块。在Breakable中,我们有一个for循环,该循环从1到10并返回i * 5,但是我们在with条件下使用了break语句。当i = 6且代码流在迭代时跳出循环时,此条件成立。

2)中断while循环

Scala中的while循环用于多次运行代码块。执行次数由输入条件定义。

break方法也可以用于打破while循环。

示例

// 程序在Scala中打断while循环

import scala.util.control._

object MyClass {
	def main(args: Array[String]) {
		var loop = new Breaks;
		var i = 0;
		loop.breakable{
			while(i < 50){				
			println(i)
				i+= 5
				// the loop will break at i > 30
				if(i > 30){
					loop.break; 
				}
			}
		}
	}
}

输出:

0
5
10
15
20
25
30

3)中断do ... while循环

Scala中的do ... while循环用于多次运行代码块。执行次数由退出条件定义。

break方法也可以用于打破do ... while循环。

示例

// 程序在Scala中打破do ... while循环
import scala.util.control._

object MyClass {
    def main(args: Array[String]) {
        var loop = new Breaks;
        var i = 0;
        loop.breakable{
            do{                
            println(i)
                i+= 5
                // the loop will break at i > 30
                if(i > 30){
                    loop.break; 
                }
            }
            while(i < 50)
        }
    }
}

输出:

0
5
10
15
20
25
30