- 一、概述
- 1、为什么学习 Scala
- 2、Scala 发展历史
- 3、Scala 和 Java 关系
- 4、Scala 语言特点
- 二、Scala 环境搭建
- 1、安装步骤
- 2、测试
- 三、Scala 插件安装
- 四、HelloWorld 案例
- 1、创建 IDEA 项目工程
- 2、Maven 不支持 Scala 的开发,需要引入 Scala 框架。
- 3、编写Helloword
- 4、Scala 程序反编译
- 5、关联 Scala 源码
- 1)查看源码
- 6、官方编程指南
1)Spark—新一代内存级大数据计算框架,是大数据的重要内容。
2)Spark就是使用Scala编写的。因此为了更好的学习Spark, 需要掌握Scala这门语言。
3)Spark的兴起,带动Scala语言的发展!
联邦理工学院的马丁·奥德斯基(Martin Odersky)于2001年开始设计Scala。 马丁·奥德斯基是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一种 语言,能够让写程序这样的基础工作变得高效,简单。所以当接触到JAVA语言后,对 JAVA这门便携式,运行在网络,且存在垃圾回收的语言产生了极大的兴趣,所以决定 将函数式编程语言的特点融合到JAVA中,由此发明了两种语言(Pizza & Scala)。 Pizza和Scala极大地推动了Java编程语言的发展。 ⚫ JDK5.0 的泛型、增 强for循 环、自动类型转换等,都是从Pizza引入的新特性。 ⚫ JDK8.0 的类型推断、Lambda表达式就是从Scala引入的特性。 JDK5.0和JDK8.0的编辑器就是马丁·奥德斯基写的,因此马丁·奥德斯基一个人的 战斗力抵得上一个Java开发团队。3、Scala 和 Java 关系
一般来说,学 Scala 的人,都会 Java,而 Scala 是基于 Java 的,因此我们需要将 Scala
和 Java 以及 JVM 之间的关系搞清楚,否则学习 Scala 你会蒙圈。
Scala和Java及JVM关系图
Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的
静态类型编程语言(静态语言需要提前编译的如:Java、c、c++等,动态语言如:js)。
1)Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程。(多范式,就是多种编程方
法的意思。有面向过程、面向对象、泛型、函数式四种程序设计方法。)
2)Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有
的Java类库,实现两种语言的无缝对接。
3)Scala单作为一门语言来看,非常的简洁高效。
4)Scala在设计时,马丁·奥德斯基是参考了Java的设计思想,可以说Scala是源于Java,同时马丁·奥
德斯基也加入了自己的思想,将函数式编程语言的特点融合到JAVA中, 因此,对于学习过Java的同学,
只要在学习Scala的过程中,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言。
(1)首先确保 JDK1.8 安装成功
(2)下载对应的 Scala 安装文件 scala-2.12.11.zip
(3)解压 scala-2.12.11.zip,我这里解压到 D:Tools
(4)配置 Scala 的环境变量
注意 1:解压路径不能有任何中文路径,最好不要有空格。
注意 2:环境变量要大写 SCALA_HOME
需求:计算两数 a 和 b 的和。
步骤
(1)在键盘上同时按 win+r 键,并在运行窗口输入 cmd 命令
(2)输入 Scala 并按回车键,启动 Scala 环境。然后定义两个变量,并计算求和。
默认情况下 IDEA 不支持 Scala 的开发,需要安装 Scala 插件。
注意:如果是第一次引入框架,Use libary 看不到,需要选择你的 Scala 安装目录,然
后工具就会自动识别,就会显示 user libary。
1)在项目的 target 目录 Hello 文件上点击右键->Show in Explorer->看到 object 底层生成
Hello$.class 和 Hello.class 两个文件
2)采用 Java 反编译工具 jd-gui.exe 反编译代码,将 Hello.class 拖到 jd-gui.exe 页面
在使用 Scala 过程中,为了搞清楚 Scala 底层的机制,需要查看源码,下面看看如何关
联和查看 Scala 的源码包。
例如查看 Array 源码。按住 ctrl 键->点击 Array->右上角出现 Attach Soures…
1)在线查看:https://www.scala-lang.org/
2)离线查看:解压 scala-docs-2.11.8.zip,可以获得 Scala 的 API 操作。



