1.while循环

  Scala的while循环跟其他语言并没有很大差别。

var i = 0;
while(i<args.length){
println(i);
i+=1;
}

  Scala也有do-while循环,只不过他是在循环体之后执行条件检查而不是在循环体之前。

var i = 0;
do{
println(i);
i+=1;
}while(i<args.length)

2.for循环

  (1)通过arg <- args 这样生成器语法,遍历args的元素。

for(arg <- args){
println(arg);
}

  (2)还可以用for遍历range

for(i <- 1 to 5)//包含5
println(i); for(i <- 1 until 5)//不包含5
println(i);

  (3)还可以给for表达式添加过滤器,过滤要遍历的集合,过滤器是for表达式的圆括号中的if子句

for(file <- filesHere if file.isFile)
println(file);

  (4)嵌套循环,添加多个<-子句可以得到嵌套循环。

for(i <- 1 to 3){
for(j <- 4 to 6) {
println(i +" "+ j)
}
}
 
for(i <- 1 to 3;j <- 4 to 6) //这两种方式是等效的
   println(i +" "+ j)

下面是在嵌套循环中使用 if

for(i <- 1 to 3 if(i!=2);j <- 4 to 6 if(j!=5))
println(i +" "+ j)   

  (5)我们可以使用yield关键字把for循环的每次迭代生成一个可以被记住的值。

  语法:for 字句 yield 代码体

for{
file<-filesHere
}yield file

  for表达式的代码体每次被执行,都会产生一个值,当for循环执行完毕后,其结果将包含所有值,包含在一个集合当中

【scala】循环的更多相关文章

  1. Spark记录-Scala循环语句

    Scala while循环语句 当给定条件为真时,while循环重复一个语句或一组语句.它在执行循环体之前测试条件状态. 只要给定的条件为真,while循环语句重复执行目标语句. object Dem ...

  2. Scala:访问修饰符、运算符和循环

    http://blog.csdn.net/pipisorry/article/details/52902234 Scala 访问修饰符 Scala 访问修饰符基本和Java的一样,分别有:privat ...

  3. 快学Scala 第二课 (apply, if表达式,循环,函数的带名参数,可变长参数,异常)

    apply方法是Scala中十分常见的方法,你可以把这种用法当做是()操作符的重载形式. 像以上这样伴生对象的apply方法是Scala中构建对象的常用手法,不再需要使用new. if 条件表达式的值 ...

  4. Scala 条件控制与循环

    Scala if表达式 ·if表达式的定义:在Scala中,if表达式是有值的,就是if或者else中最后一行语句返回的值. ·例如,val age = 30; if (age > 18) 1 ...

  5. Scala入门教程---《chang哥教你一天搞定Scala》

    <chang哥教你一天搞定Scala> /** * <chang哥教你一天搞定Scala> * scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性. * ...

  6. Scala 语法基础

    一 简介 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性.Scala 运行在Java虚拟机上,并兼容现有的Java程序.Scal ...

  7. 1.scala基础语法总结

    Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的.如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; pr ...

  8. Scala 关键字

    Java关键字 Java 一共有 50 个关键字(keywords),其中有 2 个是保留字,目前还不曾用到:goto 和 const.true.false 和 null 看起来很像关键字,但实际上只 ...

  9. scala 学习笔记(01) 函数定义、分支、循环、异常处理、递归

    package yjmyzz import scala.io.StdIn object ScalaApp { def main(args: Array[String]) { println(" ...

  10. Scala 深入浅出实战经典 第75讲:模式匹配下的For循环

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...

随机推荐

  1. dedecms中的内容页中的变量

    {dede:php runphp='yes'} var_dump($refObj->Fields); {/dede:php}

  2. Django CSRF cookie not set.错误

    post提交表单报错: Forbidden (403) CSRF verification failed. Request aborted. You are seeing this message b ...

  3. Python(面向对象编程——2 继承、派生、组合、抽象类)

    继承与派生 ''' 继承:属于 组合:包含 一. 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称 ...

  4. s5_day2作业

    # 1:编写for循环,利用索引遍历出每一个字符 # msg = 'hello egon 666' # for i in range(len(msg)): # print(i,msg[i]) # 2: ...

  5. PAT 天梯赛 L1-022. 奇偶分家 【水】

    题目链接 https://www.patest.cn/contests/gplt/L1-022 AC代码 #include <iostream> #include <cstdio&g ...

  6. $python包管理工具pip的安装和使用

    pip是python的一个非常好用的包管理工具,可以用来很方便地安装和管理各种三方库,本文对其基本用法进行介绍. 安装pip Windows系统上安装 python 2.7.9及以上版本的window ...

  7. Spark机器学习6·聚类模型(spark-shell)

    K-均值(K-mean)聚类 目的:最小化所有类簇中的方差之和 类簇内方差和(WCSS,within cluster sum of squared errors) fuzzy K-means 层次聚类 ...

  8. gh-ost测试

    gh-ost测试 1.不支持没有主键或者唯一索引的表 2018-08-24 09:53:33 FATAL No PRIMARY nor UNIQUE key found in table! Baili ...

  9. a4纸尺寸像素大小

    A4纸尺寸:210mm*297mm,也就是21.0cm*29.7cm,而1英寸=2.54cm.如果在PS中新建为72像素/英寸的画布,大小为A4尺寸,经过换算就是:(72px/2.54cm) = 28 ...

  10. 服务端Job调度程序

    GIT地址:https://github.com/youbl/PlanServer