Scala学习三:循环
来源:互联网 发布:电影票房数据 编辑:程序博客网 时间:2024/06/09 23:17
Scala学习三:循环
Scala 循环
Scala中有for,while两种形式while循环的方式与Java中的一样,不再赘述.
Scala中没有Java的
for(变量声名; 条件控制; 变量控制)
只有
for(n <- 1 to n) // 包含n值 // 及 for(n <- 1 until n) // 不包含n值
Scala for循环中的变量名前不需要val,var。类型是集合中的变量类型。作用域郁着循环结束。
Scala中没有break, continue来退出,控制循环.
import scala.util.control.Breaks._breakable { for (...) { if (...) { break } }}
breakable 必须完全包裹住整个for循环块,否则将不能退出循环。
break 跳出循环是通过抛出 和 捕获 异常来完成的。对于时间要求很高的情况,应减少使用。
高级for循环形式:
Scala的for循环可以有多个 变量<-表达式 形式的生成器,每个生成器之间用 “;” 隔开
// Scala代码for(outer <- 1 to 3; inner <- 1 to 3){ println(10 * outer + inner)}
// Java代码// 其作用就相当于Java的双层for循环for(int outer = 1; outer <= 3; outer++){ for(int inner = 1; inner <= 3; inner++){ System.out.println( 10 * outer + inner) }}
for循环生成器守卫:
// Scala代码:// 同时每个生成器可以带一个守卫:for(outer <- 1 to 5 if outer % 2 != 0; inner <- 1 to 5 if inner % 2 == 0){ println(10 * outer + inner)}
其作用就相当于Java的双层for循环:
// Java代码:for(int outer = 1; outer <= 5; outer++){ if(outer % 2 != 0){ for(int inner = 1; inner <= 5; inner++){ if(inner % 2 == 0){ System.out.println( 10 * outer + inner) } } }}
而且还可以使用任意多的定义,引用可以在循环中使用的变量:
for(outer <- 1 to 5; middle = 6 - outer ; inner <- middle to 5) { println(10 * outer + inner)}
for yield:
如果For循环体内以yield开始,则循环会构成一个集合,每次迭代生成集合中的一个值
val col = for(a < 1 to 5) yield { "Word" + a}// col是一个集合:IndexedSeq[String]
错误的写法,如果返回集合。yield必须紧跟for循环表达式。
for(a < 1 to 5){ yield { "Word" + a }}
阅读全文
0 0
- Scala学习三:循环
- scala学习(三)
- Scala学习笔记三
- scala学习笔记三
- scala学习三
- Scala学习第八弹 循环
- scala 学习笔记 之 循环
- Scala跳出循环的三种方法
- scala学习三:scala面向对象
- scala学习三 控制结构
- scala学习笔记(三)
- scala学习笔记(三)
- scala 学习笔记(三)
- scala学习笔记(三)
- Scala学习之循环跟数组
- scala学习(4)——循环
- Scala学习笔记(六)----数组,循环,排序
- scala学习笔记三----scala函数式编程风格学习
- 查看AS中assets下的.db文件,以及编辑等
- centos7 安装C帮助文档
- 进程与线程的区别
- 献给理科男,舞步学院 私教 体验
- JVM(Java虚拟机)优化大全和案例实战
- Scala学习三:循环
- Oracle数据库并行机制Parallel Execution
- ubuntu 执行apt-get install ruby 不能正常install
- 日志处理Log4j 与 logback对比、及使用配置
- nodejs 读取ini文件
- poj 2159
- 哪种公司能干 哪种不能
- POSIX消息队列(mq_)
- WPF异常捕捉