什么是Scala

image.png

为什么要学习Scala语言

最直接的一点就是因为我们大数据Spark框架需要用到Scala这门语言
但是Spark其实是同时支持Scala语言和Java语言的,为什么非要学Scala呢,使用java它难道不香吗?

这就要说第二点了:看下面的代码,使用Spark统计文件内单词出现的次数这个需求,使用java代码和scala代码的区别是有多么的明显,在代码量上来说,scala是完胜java的,所以在实际工作中开发spark代码,我们都是需要使用scala的,使用java实现函数式编程太别扭了,代码量太大,这个就是我们学习scala的最直接的原因。
image.png
image.png

Scala环境安装配置

注意:由于Scala是基于Java虚拟机的,所以使用 Scala 之前必须先安装 Java,Java我们已经安装过了。

下载地址:https://www.scala-lang.org/download/all.html
选择2.12.11这个版本
image.png
解压到 D:\develop\scala-2.12.11
接下来就该配置SCALA_HOME和PATH环境变量了,和Java的操作是一样的

  1. SCALA_HOME D:\develop\scala-2.12.11
  2. PATH %SCALA_HOME%\bin

进入cmd命令行,验证一下,输入scala命令,可以看到下面界面就说明安装配置成功了。
image.png

Scala命令行

咱们刚才进入的就是Scala命令行
Scala命令行也称为Scala解释器(REPL),它会快速编译Scala代码为字节码,然后交给JVM来执行
这里的REPL表示:Read(取值)-> Evaluation(求值)-> Print(打印)-> Loop(循环)

在Scala命令行内,输入Scala代码,解释器会直接返回结果
如果你没有指定变量来存放计算的值,那么值默认的名称会显示为res开头的变量,而且会显示结果的数据类型
例如:

scala> 1+1
res0: Int = 2

在后面可以继续使用res0这个变量,以及它里面存放的值
例如:

scala> 5*res0
res1: Int = 10

scala的命令行也有自动补全功能,使用起来还是比较方便的
输入res,按键盘上的tab键,下面就会列出目前以res开头的变量名称

scala> res
res0   res1

Scala文档

image.png
image.png

注意:本来是应该看对应版本2.12.11的文档的,但是2.12.11文档的格式看起来不是很清晰,所以在这我们就是要2.11.12这个版本了,主要的是没有什么变化的,不影响我们使用

image.png
image.png
image.png
image.png