迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

Scala 中的 break 语句

作者:迹忆客 最近更新:2023/03/24 浏览次数:

我们将在本文中讨论 break 语句及其在 Scala 中的用途。

中断是任何用于控制代码执行流程的编程语言的共同特征之一。在 Scala 中,我们可以使用 break 来停止循环迭代。

Scala 不提供任何 break 语句,但在 scala.util.control.Breaks 包中提供了一个 break 方法。你必须将包导入到你的代码中。


Scala 中的 break 语法

Scala 提供了一个 breakable {} 块,我们可以在其中使用 break 语句。下面的代码是 Scala 中中断的一般语法,我们用它来包围代码来中断流程。

语法:

breakable {
    for (x <- xs) {
        if (cond)
            break  // breaking here
    }
}s

在 Scala 中使用 breakable 方法停止循环

在这里,我们有一个循环迭代 1 到 10,如果值为 5 则中断。在匹配条件和控制回到循环外后立即停止执行,并执行其余代码。

import scala.util.control.Breaks._
object MainObject {
   def main(args: Array[String]) {
        breakable {
            for(i<-1 to 10 by 2){
                if(i==5)
                    break
                else
                    println(i)
            }
        }
    }
}

输出:

1
3

在 Scala 中使用 breakable 方法来停止内循环

你可以使用 breakable 方法在嵌套循环中终止内部循环的执行。如果你正在使用嵌套循环并且只想停止内部循环执行,则在内部循环中使用 break 语句并查看结果。

import scala.util.control.Breaks._
object MainObject {
   def main(args: Array[String]) {
        for(i <- 1 to 3){
            breakable {
                for(j <- 1 to 3){
                    if(i == 2 & j == 2 )
                       break
                    println(i+" "+j)
                }
            }
        }
    }
}

输出:

1 1
1 2
1 3
2 1
3 1
3 2
3 3

在 Scala 中使用 return 语句来中断循环

我们使用 return 语句退出循环,这是一个有效的语句,但问题是它没有执行 return 语句之后编写的代码,因为控制权转到调用函数。

import scala.util.control.Breaks._
object MainObject {
   def main(args: Array[String]) {
       var sum = 0
        for (i <- 0 to 1000) {
            sum += i;
            if (sum>=10)
                return
        println(sum)
        }
    }
}

输出:

0
1
3
6

在 Scala 中使用条件语句来打破循环

有条件地中断循环也是你可以设置标志和指定条件的替代方法之一。如果条件满足,则循环停止执行。

import scala.util.control.Breaks._
object MainObject {
    def main(args: Array[String]) {
        var done = false
        var i = 10
        var sum = 0
        while (i <= 1000 && !done) {
            sum+=i
            if (sum > 10) {
                done = true
           }
            println(sum)
        }
    }
}

输出:

10
20

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便