第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感兴趣,可以免费听由王家林老师每天晚上20:00开设的Spark永久免费公开课,地址YY房间号:68917580
1 0
- 第4课:零基础彻底实战Scala控制结构及Spark源码解析
- 大数据Spark “蘑菇云”行动前传第4课:零基础彻底实战Scala控制结构及Spark源码解析
- 大数据spark蘑菇云行动前传第5课:零基础彻底实战Scala函数式编程及Spark源码解析
- 第5课:零基础实战Scala函数式编程及Spark源码解析
- 第6课:零基础实战Scala集合操作及Spark源码解析
- 第7课:零基础实战Scala面向对象编程及Spark源码解析
- 大数据Spark “蘑菇云”行动前传第5课:零基础实战Scala函数式编程及Spark源码解析
- 大数据Spark “蘑菇云”行动前传第7课:零基础实战Scala面向对象编程及Spark源码解析
- 大数据DTSpark"蘑菇云"行动之 第四课:零基础彻底实战Scala控制结构
- 第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码鉴赏
- 第16课:Scala implicits编程彻底实战及Spark源码鉴赏
- 第16课:Scala implicits编程彻底实战及Spark源码鉴赏
- 大数据Spark “蘑菇云”行动前传第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码解析
- 大数据Spark“蘑菇云”行动-第10课:Scala继承彻底实战和Spark源码鉴赏
- Scala implicits编程彻底实战及Spark源码鉴赏
- 第11课:scala面向接口编程彻底实战和spark源码鉴赏
- 第9课:Scala类和对象彻底实战和Spark源码鉴赏
- 第10课:Scala继承彻底实战和Spark源码鉴赏
- Can you answer these queries?(单点更新+标记)
- hdu 5772 最大权闭合图
- 测试设置用户ID set-user-id
- 运维日记008 - 配置缓存DNS服务(Cache Only DNS Server)
- Linux Kernel Reading Guide - Configuring the Kernel
- 第4课:零基础彻底实战Scala控制结构及Spark源码解析
- Activity启动模式与任务栈(Task)全面深入记录(下)
- 学习安卓开发过程之中,自己倒腾的两个小项目,一个是音乐播放器,一个是天气预报。
- Android 验证码功能实现
- C和OC的冒泡排序实现
- 122. Best Time to Buy and Sell Stock II [medium] (Python)
- org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'u' defined i
- PyGobject(四十七)布局容器之FlowBox
- 文章标题