Scala for循环示例
为什么80%的码农都做不了架构师?>>>
for循环是一种重复控制结构,允许你高效地编写需要执行特定次数的循环。下面的示例以各种形式描述了Scala中的for循环。
语法——带范围的for循环(for loop with ranges)
在Scala里,最简单的带范围的for循环语法如下:
for( var x <- Range ){statement(s);
}
以上语法中,Range是一个以i to j或者i until j表示的数值范围,左箭头操作符<-称作生成器,因为它从一个范围内生成单独的值。
以下是用Scala实现的for循环的示例。
示例1:i to j
object Demo {def main(args: Array[String]) {var a = 0;// for loop execution with a rangefor( a <- 1 to 10){println( "Value of a: " + a );}}
}
输出:
value of a: 1
value of a: 2
value of a: 3
value of a: 4
value of a: 5
value of a: 6
value of a: 7
value of a: 8
value of a: 9
value of a: 10
示例2:i util j
object Demo {def main(args: Array[String]) {var a = 0;// for loop execution with a rangefor( a <- 1 until 10){println( "Value of a: " + a );}}
}
输出:
value of a: 1
value of a: 2
value of a: 3
value of a: 4
value of a: 5
value of a: 6
value of a: 7
value of a: 8
value of a: 9
示例3:用分号(;)分隔多个范围
你可以在for循环中使用分号(;)分隔多个范围,在这种情况下,循环将遍历给定范围的所有逻辑。下面是一个只使用两个范围的例子,你也可以使用两个以上的范围:
object Demo {def main(args: Array[String]) {var a = 0;var b = 0;// for loop execution with a rangefor( a <- 1 to 3; b <- 1 to 3){println( "Value of a: " + a );println( "Value of b: " + b );}}
}
输出:
Value of a: 1
Value of b: 1
Value of a: 1
Value of b: 2
Value of a: 1
Value of b: 3
Value of a: 2
Value of b: 1
Value of a: 2
Value of b: 2
Value of a: 2
Value of b: 3
Value of a: 3
Value of b: 1
Value of a: 3
Value of b: 2
Value of a: 3
Value of b: 3
示例4:for循环集合
以下是for循环集合的语法:
for( var x <- List ){statement(s);
}
在这里,List变量是一个包含元素列表的集合类型,for循环遍历所有元素,每次返回x变量中的一个元素。示例如下:
object Demo {def main(args: Array[String]) {var a = 0;val numList = List(1,2,3,4,5,6);// for loop execution with a collectionfor( a <- numList ){println( "Value of a: " + a );}}
}
输出:
object Demo {def main(args: Array[String]) {var a = 0;val numList = List(1,2,3,4,5,6);// for loop execution with a collectionfor( a <- numList ){println( "Value of a: " + a );}}
}
示例5:带过滤条件的for循环
Scala的for循环允许用一个或多个if语句过滤出符合条件的元素,以下是语法,可以用分号(;)分隔多个过滤条件:
for( var x <- Listif condition1; if condition2...){statement(s);
}
示例如下:
object Demo {def main(args: Array[String]) {var a = 0;val numList = List(1,2,3,4,5,6,7,8,9,10);// for loop execution with multiple filtersfor( a <- numListif a != 3; if a < 8 ){println( "Value of a: " + a );}}
}
输出:
object Demo {def main(args: Array[String]) {var a = 0;val numList = List(1,2,3,4,5,6,7,8,9,10);// for loop execution with multiple filtersfor( a <- numListif a != 3; if a < 8 ){println( "Value of a: " + a );}}
}
示例6: 带yield关键字的for循环
你可以将for循环中的返回值存储在变量中,也可以通过函数返回。为此,你可以在for表达式的主体前面加上关键字yield。下面是语法:
var retVal = for{ var x <- Listif condition1; if condition2...
}
yield x
注意:大括号用于保存变量和条件,retVal是一个变量,其中x的所有值都将以集合的形式存储。
示例:
object Demo {def main(args: Array[String]) {var a = 0;val numList = List(1,2,3,4,5,6,7,8,9,10);// for loop execution with a yieldvar retVal = for{ a <- numList if a != 3; if a < 8 }yield a// Now print returned values using another loop.for( a <- retVal){println( "Value of a: " + a );}}
}
输出:
value of a: 1
value of a: 2
value of a: 4
value of a: 5
value of a: 6
value of a: 7
编译自:Scala - for Loops
转载于:https://my.oschina.net/dabird/blog/3009787
Scala for循环示例相关推荐
- scala中循环守卫_Scala中的循环
scala中循环守卫 Scala中的循环 (Loops in Scala) In programming, many times a condition comes when we need to e ...
- PHP快速入门教程:WHILE循环示例
<html> ...
- python冒泡循环示例_Python for循环示例
python冒泡循环示例 Python for loop is used for iterating over a sequence. The for loop is present in almos ...
- python冒泡循环示例_Python循环示例–循环在python中
python冒泡循环示例 In this tutorial you are going to learn about Python Loop Techniques. In previous tutor ...
- bboss 动态sql使用foreach循环示例
本文介绍bboss 动态sql使用foreach循环示例.切入正题. 在sql配置文件中配置的sql语句有时需要用到foreach循环控制语句以及循环计数器velocityCount,以便遍历外部传入 ...
- 九层妖塔SCALA单层循环实现
Scala一层循环九层妖塔 欢迎点赞收藏 代码实现 欢迎点赞收藏 代码实现 for ( i <- 1 to 9 by 1 ; j = 2 * i - 1 ; k = 9 - i ) {print ...
- scala中断循环代码示例
实例 import scala.util.control._object Test {def main(args: Array[String]) {var a = 0;val numList = Li ...
- scala语言示例_var关键字与Scala中的示例
scala语言示例 Scala var关键字 (Scala var keyword) The var Keyword in scala is used to declare variables. As ...
- scala while循环中断
Scala内置控制结构特地去掉了break和continue,是为了更好的适应函数化编程,推荐使用函数式的风格解决break和contine的功能,而不是一个关键字. 如何实现continue的效果 ...
最新文章
- 读书笔记:《Aspx开发200问》——如何实现Repeater控件的分页
- python easy install 编译_python安装easy_install和pip
- C# 数据库连接池 线程安全 单例模式 的实现
- CUDA bank 及bank conflict
- 使用Office 365 试用账户 体验Office 365功能
- Control-Flow Enforcement Technology (CET)
- Vim 经常使用快捷键及键盘图
- Linux 内核版本号查看
- 饿了么ui 省市区 三级联动框架
- 加不了buff的BuffX,还能让年轻人买单多久?
- oracle 挖掘日志,使用Oracle的Logminer工具进行日志挖掘
- 053试题 - 320/321/322/323/324/326/330/332/544/553/585/586/587/588/589/592/596/597/598/599 rman backup
- 使用ajax报405错误
- Linux软件安装失败问题,source.list用了bionic,实际上我的Linux是focal版本
- Excel学习之旅(三)
- ACL2019代码开源论文
- 除尘机器人毕业_【干货】焊接机器人除尘方式
- 在局域网访问 XAMPP 服务器本地主机
- “杏”运有你!共赏这乡美景
- 2023十大网络安全认证,有任何一个都薪资过万,你有几个了?
热门文章
- 《响应式Web设计:HTML5和CSS3实践指南》——2.9节基于位置伪类的交替行样式
- [转] android自动化之MonkeyRunner测试环境配置(一)
- MySQL管理与优化(20):MySQL日志
- Ajax弹出式无刷新城市选择特效
- REDHAT6.4桌面环境添加快捷建打开命令行终端
- CC1100E被不同频段的频率干扰问题
- 字符串常量是一个字符数组
- Spring boot(五)模板引擎 Thymeleaf
- JavaScript检测之basevalidate.js
- sendmail启动virtusertable.db错误解决