Scala循环中的“break”中断

2024-05-19 19:48
文章标签 中断 循环 scala break

本文主要是介绍Scala循环中的“break”中断,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Scala中没有内置的break语句,但是如果您运行的是Scala 2.8版本,则可以使用break语句。当循环中遇到break语句时,循环将立即终止,程序控制跳到循环之后的下一个语句执行。

语法

以下是break语句的语法 -

// import following package
import scala.util.control._// create a Breaks object as follows
val loop = new Breaks;// Keep the loop inside breakable as follows
loop.breakable {// Loop will go herefor(...){....// Break will go hereloop.break;}
}

Scala

尝试以下示例程序来理解break语句。

import scala.util.control._object Demo {def main(args: Array[String]) {var a = 0;val numList = List(1,2,3,4,5,6,7,8,9,10);val loop = new Breaks;loop.breakable {for( a <- numList){println( "Value of a: " + a );if( a == 4 ){loop.break;}}}println( "After the loop" );}
}

Scala

将上述程序保存在源文件:Demo.scala 中,使用以下命令编译和执行此程序。

$ scalac Demo.scala
$ scala DemoValue of a: 1
Value of a: 2
Value of a: 3
Value of a: 4
After the loop

Scala

中断嵌套循环

在使用嵌套循环时,存在一个问题。为了防止对嵌套循环使用break,请参照下面的方法。这是一个中断嵌套循环的示例程序。

import scala.util.control._object Demo {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;}}} // inner breakable}} // outer breakable.}
}

Scala

将上述程序保存在源文件:Demo.scala 中,使用以下命令编译和执行此程序。

$ scalac Demo.scala
$ scala DemoValue 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
Value of a: 5
Value of b: 11
Value of b: 12

这篇关于Scala循环中的“break”中断的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995883

相关文章

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

poj3750约瑟夫环,循环队列

Description 有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到S个出列,如此重复下去,直到所有的小孩都出列(总人数不足S个时将循环报数),求小孩出列的顺序。 Input 第一行输入小孩的人数N(N<=64) 接下来每行输入一个小孩的名字(人名不超过15个字符) 最后一行输入W,S (W < N),用

javascript中break与continue的区别

在javascript中,break是结束整个循环,break下面的语句不再执行了 for(let i=1;i<=5;i++){if(i===3){break}document.write(i) } 上面的代码中,当i=1时,执行打印输出语句,当i=2时,执行打印输出语句,当i=3时,遇到break了,整个循环就结束了。 执行结果是12 continue语句是停止当前循环,返回从头开始。

校验码:奇偶校验,CRC循环冗余校验,海明校验码

文章目录 奇偶校验码CRC循环冗余校验码海明校验码 奇偶校验码 码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据检验码的码距。 奇偶校验码的编码方法是:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码。 奇校验:整个校验码中1的个数为奇数 偶校验:整个校验码中1的个数为偶数 奇偶校验,可检测1位(奇数位)的错误,不可纠错。

Go 语言中Select与for结合使用break

func test(){i := 0for {select {case <-time.After(time.Second * time.Duration(2)):i++if i == 5{fmt.Println("break now")break }fmt.Println("inside the select: ")}fmt.Println("inside the for: ")}} 执行后

FreeRTOS学习笔记(四)Freertos的中断管理及临界保护

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Cortex-M 中断管理1.1 中断优先级分组1.2 相关寄存器1.3 相关宏定义1.4 FreeRTOS 开关中断 二、临界段及其保护2.1 taskENTER_CRITICAL( ) 和 taskEXIT_CRITICAL( )2.2 taskENTER_CRITICAL_FROM_ISR( )

react笔记 8-17 属性绑定 class绑定 引入图片 循环遍历

1、绑定属性 constructor(){super()this.state={name:"张三",title:'我是一个title'}}render() {return (<div><div>aaaaaaa{this.state.name}<div title={this.state.title}>我是一个title</div></div></div>)} 绑定属性直接使用花括号{}   注

Spring是如何解决循环依赖?

现象解释: 在Spring框架中,循环依赖(Circular Dependency)是指两个或多个Bean之间相互依赖,形成了一个循环。例如,Bean A依赖于Bean B,而Bean B又依赖于Bean A。Spring通过多种机制解决循环依赖问题,具体来说,主要有以下几种方式: 1.三级缓存机制 Spring容器在实例化Bean时使用了三级缓存来解决循环依赖,主要涉及三个缓存结构: 一级

switch中的break控制

#include<iostream>using namespace std;int main(){int i=10;switch(i){case 9:i+=1;case 10:i+=1;case 11:i+=1;default:i+=1;}cout<<i<<endl;return 0;} 上面的结果是13; #include<iostream>using namespace s