第4课:零基础彻底实战Scala控制结构及Spark源码解析

来源:互联网 发布:淘宝logo特色 编辑:程序博客网 时间:2024/06/06 12:28

通过代码来演示if、for、while等Scala控制结构的运用

/** * Scala中的基本控制结构有顺序、条件和循环三种方式,但是Scala也有些高级的流程控制结构类 * 模式匹配,这里我们主要讲解的是if、for、while等三种控制结构及实战讲解 */object ControlStructuresOps {  def main(args: Array[String]): Unit = {    /**     * Scala中的if条件表达式是有结果的,这个和Java是有区别     */    var age = 30    println(if (age > 25) "Worker" else "Student")    /**     * if条件表达式中可以进行类型推到,省掉变量的类型书写,为复杂算法提供便利     */    val result = if (age > 25) "Worker" else 1    //else可以省略,这时候result2还是Any类型    //等价于if (age > 25) "Worker" else ()    val result2 = if (age > 25) "Worker"    //{}最后一条语句是结果返回值    var x, y = 0    val result3 = if (age > 25) {      x = x + 1      y = y + 1      x + y    } else 0    println(result3)    //for循环中运用if语句进行过滤,优先执行if条件语句    for (i <- 0 to 10 if i % 2 == 0) println(i)    //yield,将满足条件的i返回为一个数组    val result4 = for (i <- 0 to 10 if i % 2 == 0) yield i    //for运行字符串    for (item <- "Hello Spark") println(item)    //如果想返回两个字符串    for (item <- "Hello Spark".split(" ")) println(item)    //while循序使用,通过if条件判断将flag赋值为false来跳出while    var flag = true    while (flag) {      for (item <- "Hello Spark") {        println(item)        if (item == 'r') flag = false      }    }    //另外一种通过break()跳出while循环的方式,很少用    import scala.util.control.Breaks._    flag = true    breakable {      while (flag) {        for (item <- "Hello Spark") {          println(item)          if (item == 'r') {            break()          }        }      }    }  }

蘑菇云Spark&Scala详解搜狐视频地址:http://my.tv.sohu.com/us/291747571/84640112.shtml

备注:

资料来源于:DT_大数据梦工厂(Spark"蘑菇云"行动

更多私密内容,请关注微信公众号:DT_Spark

如果您对大数据Spark感兴趣,可以免费听由王家林老师每天晚上2000开设的Spark永久免费公开课,地址YY房间号:68917580

1 0
原创粉丝点击