logo资料库

Scala学习笔记(全).pdf

第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
资料共24页,剩余部分请下载后查看
概述 对比 Hadoop 用java语言开发(java8 lamda表达式) mapreduce  Wordcount 70行左右 Spark 用Scala语言开发(函数式编程) mapreduce  Wordcount 1行
spark是hadoop的补充 Scala: 多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行与Java平台(Java虚拟机), 并兼容所有的java程序。 面向过程、面向对象、函数式编程 Scala优点: 支持函数式编程,编码也简洁 优雅、速度快(开发效率高)、能融合到Hadoop生态圈(spark是Scala编写的) 学会了Scala,Python同理 Scala编译器安装: 1、安装jdk 2、安装Scala编译器 http://www.scala-lang.org/ Scala:最新的是 1.12.4  目前公司里没有正式项目上main用这么高的版本 2.11.x  课程使用版本 2.10.x  好多公司在使用 tar -zxvf XXXX -C url 第一行代码: HelloWorld.scala object HelloWorld{       def main(args:Array[String]){               println("hello world !!")        } } 编译:scalac HelloWorld.scala 运行:scala HelloWorld 开发工具: IDEA
自动调节字体大小,按Ctrl加鼠标 scala语法: 变量声明 val变量(scala自动类型推断) 显式声明类型(强制声明)  变量名:类型=值
var变量 修改var变量值 不能修改val变量值,会报错!! 注:val声明的是不能改变的变量,而var声明变量后,值可以再次定义 常用数据类型: Byte、Char、Short、Int、Long、Float、Double、Boolen 其他可以参考:www.runoob.com 条件表达式: if 注:if条件语句是有返回值的,需要有变量去接收 他的返回值的数据类型会自动推断 在scala中,最后一行代码块就是返回值 循环: while循环,scala中不支持++ -- 的操作 for循环:语法结构:for (i <- 表达式/数组/集合){ }
1 until 10 ---> 1-9,1 to 10  ---->1-10 在scala中,没有+-*/运算符的概念,全部都是方法,+方法 for中有:yield构建出一个集合,设置返回值 注:while的使用方式跟java一样 scala中没有++ --操作,如果要实现这样的操作,可以用a-=1操作 scala中没有运算符,都是方法,只不过这些方法名比较特别。 常用的表达式1 to 10 ,1 util 10 for循环的语法是,(for<- 表达式/集合/数组) for循环支持多重for循环 for循环可以写if条件的表达式,并且表达式之前没有分号 如果我们想要for循环有返回值或者返回来一个新的集合在循环体前中用yield 调用方法和函数 定义方法 如果要=,就有返回值,没有=,就没有返回值
定义函数 匿名函数 声明一个函数 结果 注:方法和函数的区别: 函数可以像其他数据类型一样被传递和操作 方法里面有函数
分享到:
收藏