美文网首页
scala编程实战笔记(3-控制结构)

scala编程实战笔记(3-控制结构)

作者: Kean_L_C | 来源:发表于2017-11-18 18:23 被阅读6次
import scala.io.Source
    val source = Source.fromFile("/root/IdeaProjects/ScalaProgAction/src/test/scala/allrepl.scala").getLines()
    var count = 0
    for (line <- source) {
      //println(line)
      for (char <- line) {
        //println(char)
        if (char == 'f') count += 1  // "":String , '':Char
      }
    }
    println(count)

3.1for and foreach

  • for 的返回值
val arr: Array[String] = Array("dede", "dede", "sssa")
val newarr = for (w <- arr) yield w.capitalize
print(newarr.toList)
//yield 需要进一步的处理
var res =
for (a <- "asdc") yield {
var x = a.toByte + 1
x.toChar
}
  • 循环计数器
for (i <- 0 until arr.length) {
  println(s"$i : ${arr(i)}")
}
// zipWithIndex   
for ((e, count) <- arr.zipWithIndex) {
  println(e, count)
}
  • 生成器和卫语句
for (i <- 1 to 10 if (i % 2) == 0) {
  println(i)
}
  • 3.2 多个计数器 多个卫语句
for (i <- 1 to 3; j <- 1 to 3 if i == j) println(i, j)
for {
  i <- 1 to 3
  j <- 1 to 3
  if i == j
  if i > 2
} println(i, j)

3. 4 for yield

一般不会改变返回值类型

3.5 break continue

//break
import scala.util.control.Breaks._
breakable {
  for (i <- 1 to 10) {
    if (i >3) break
    println(i)
  }
}
//continue
for (i <- 1 to 10) {
  breakable {
    if (i % 2 == 1) break
    println(i)
  }
}
  • 多重嵌套break continue
import scala.util.control.Breaks
val outer = new Breaks
val inner = new Breaks
outer.breakable {
  // break
  for (i <- 1 to 10) {
    inner.breakable {
      // break continue
      for (j <- 'a' to  'e') {
        if (i == 1 && j == 'c') inner.break else println(i, j)
        if (i == 3 && j == 'c') outer.break
      }
    }
  }
 }

相关文章

  • scala编程实战笔记(3-控制结构)

    3.1for and foreach for 的返回值 循环计数器 生成器和卫语句 3.2 多个计数器 多个卫语句...

  • Scala编程6 | 控制结构

    2016/11/06 1、if 与其他语言的if使用方法没有什么区别,Scala里面的if可以返回值。 2、whi...

  • Scala相关文章索引(2)

    基本常识 scala编程第17章学习笔记(1)——集合类型 scala Map类型笔记 scala代码风格指南--...

  • Scala读书笔记

    《Scala编程完整版》笔记 点滴 第9章 控制抽象 scala的任何方法调用,如果只传入一个参数,就能可选地使用...

  • scala编程之控制内建结构

    一 scala的内建控制特点 只有if、while、for、try、match和函数调用。 scala从语法层面支...

  • Scala控制结构

    走过红尘的纷扰,弹落灵魂沾染的尘埃,携一抹淡淡的情怀,迎着清馨的微风,坐在岁月的源头,看时光婆娑的舞步,让自己安静...

  • Scala继承体系结构

    控制复杂性是计算机编程的本质。-- Brian Kernigan Scala继承体系结构设计非常巧妙,它没有特殊地...

  • Scala 入门

    1 函数式编程思想 1.1 介绍 1.2 scala函数式编程思想 2 环境搭建 3 实战 4 变量 函数 函数定...

  • Scala的內建控制结构

    內建控制结构(Build-in Control Structures) 需要注意的是,大多数的Scala控制结构,...

  • 每日一读 10.26 zeppelin

    学习scala的那五天__编程实战 http://www.aboutyun.com/thread-23182-1-...

网友评论

      本文标题:scala编程实战笔记(3-控制结构)

      本文链接:https://www.haomeiwen.com/subject/iwxyvxtx.html