一.Scala简介
1.图解Scala和Java的关系
2.Scala语言特点
Scala是一门以Java虚拟机 (JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言(静态语言需要提前编译的如: Java、C、C++等,动态语言如:JS)。
(1)Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程。 (多范式,就是多种编程方法的意思。有面向过程、面向对象、泛型、函数式四种程序设计方法。)
(2)Scala源代码 (.scala) 会被编译成Java字节码 (.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。
(4)Scala在设计时,马丁·奥德斯基是参考了Java的设计思想,可以说Scala是源于Java,同时马丁·奥德斯基也加入了自己的思想,将函数式编程语言的特点融合到JAVA中,因此,对于学习过Java的同学,只要在学习Scala的过程中,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言。
3.Scala特性
(1)面向对象:
Scala是一种纯粹的面向对象语言。一个对象的类型和行为是由类和特征描述的。类通过子类化和灵活的混合类进行扩展,成为多重继承的可靠解决方案。
(2)函数式编程:
Scala提供了轻量级语法来定义匿名函数,支持高阶函数,允许函数嵌套,并支持函数柯里化。Scala的样例类与模式匹配支持函数式编程语言中的代数类型。Scala的单例对象提供了方便的方法来组合不属于类的函数。用户还可以使用Scala的模式匹配,编写类似正则表达式的代码处理可扩展标记语言(ExtensibleMarkup Language,XML)格式的数据。
(3)静态类型:
Scala 配备了表现型的系统,以静态的方式进行抽象,以安全和连贯的方式进行使用。系统支持将通用类、内部类、抽象类和复合类作为对象成员,也支持隐式参数、转换和多态方法等,这为抽象编程的安全重用和软件类型的安全扩展提供了强大的支持。
(4)可扩展:
在实践中,专用领域的应用程序开发往往需要特定的语言扩展。Scala提供了许多独特的语言机制,可以以库的形式无缝添加新的语言结构。
4.Scala部署与安装
(1)在网页上运行Scala
通过浏览器查找Scastie并进入,即可进入Scala在线运行环境。
进入Scastie界面后,在上窗格中输入“println("hello world")”。
单击“Run”按钮,输出信息将显示在下窗格中,如下图。
(2)Scala环境设置
Scala运行环境众多,可以运行在Windows、Linux、macOS等系统上。Scala是运行在JVM上的语言,因此必须确保系统环境中安装了JDK,即Java开发工具包,而且必须确保JDK版本与本书安装的Spark的JDK编译版本一致,本书中使用的JDK是JDK 8(Java 1.8)。
查看Java版本
(3)Scala安装
1.在Linux和macOS系统上安装Scala
从Scala官网下载Scala安装包,安装包名称为“scala-2.12.15.tgz”
将其上传至/opt目录
解压安装包至/usr/local目录下配置Scala环境变量
2.在Windows系统上安装Scala
从Scala官网下载Scala安装包,安装包名称为“scala.msi”。
双击scala.msi安装包,开始安装软件。
进入欢迎界面,单击右下角的“Next”按钮后出现许可协议选择提示框,选择接受许可协议中的条款并单击右下角的“Next”按钮。
(4)在Windows系统上安装Scala
1.选择安装路径,本文Scala的安装路径选择在非系统盘的“D:\Program Files (x86)\spark\scala\” ,单击“OK”按钮进入安装界面。
2.在安装界面中单击右下角的“Install”按钮进行安装,安装完成时单击“Finish”按钮完成安装。
3.右键单击“此电脑”图标,选择“属性”选项,在弹出的窗口中选择“高级系统设置”选项。在弹出的对话框中选择“高级”选项卡,并单击“环境变量”按钮,在环境变量对话框中,选择“Path”变量并单击“编辑”按钮,在Path变量中添加Scala安装目录的bin文件夹所在路径,如“D:\Program Files (x86)\spark\scala\bin”。