1 Scala概述
Scala 是一门多范式(multi-paradigm)的编程语言。
这里所谓的范式,指的是编写程序的方式,不同的编程语言,方式也不尽相同,也就意味着Scala编程语言是融合了多种不同编程方式的语言。所以Scala语言的设计初衷是要集成面向对象编程和函数式编程的各种特性。
Scala与Java的关系
创始人马丁·奥德斯基(Martin Odersky)是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一种语言,能够让写程序这样的基础工作变得高效,简单,且令人愉悦。所以当接触到JAVA语言后,对JAVA这门便携式,运行在网络,且存在垃圾回收的语言产生了极大的兴趣,所以决定将函数式编程语言的特点融合到JAVA中,由此发明了两种语言(Pizza & Scala),这两种语言极大地推动了Java编程语言的发展。且现在主流JVM的javac编译器就是马丁·奥德斯基编写出来的,并被JAVA编程人员广泛的使用,所以Scala语言起源于Java,却推动着Java的发展,它们是相辅相成的。
正是基于上面的原因,所以Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接,因此,对于已经掌握JAVA语言的我们来讲,学习起来一定会略显轻松。
Scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。(运行之前一定知道类型是什么)
2 安装
Scala需要Java运行时库,安装Scala需要首先安装JVM虚拟机,推荐安装JDK1.8。
在http://www.scala-lang.org/ 下载Scala2.11.8程序安装包
根据不同的操作系统选择不同的安装包,下载完成后,将安装包解压到安装目录。将scala安装目录下的bin目录加入到PATH环境变量:
SCALA_HOME=F:\devTools\scala\scala-2.11.8
PATH=%SCALA_HOME%\bin
安装好scala并配置好PATH环境变量之后,就可以在终端中输入“scala”命令打开scala解释器:
注意:该操作Windows和Linux配置流程是一样的。可以参考Java的JDK的配置过程。
到此为止,Scala的安装已经成功。
3 Scala的REPL
上面打开的scala命令行窗口,我们称之为REPL,是指:Read->Evaluation->Print->Loop,也称之为交互式解释器。类似于MySQL的默认客户端工具
在命令行窗口中输入scala指令代码时,解释器会读取指令代码并计算(Evaluation)对应的值,然后将结果打印(Print)出来,接着循环等待用户输入指令(Loop)。
从技术上讲,这里其实并不是一个解释器,而是指令代码被快速的编译成Java字节码并被JVM加载执行。最终将执行结果输出到命令行中。
4 配置IDEA(安装Scala插件)
(1)打开IDEA,如图,选择Configure->Plugins
(2)安装scala
a.Browse repositories
b.install plugin from disk…
(3)此时会显示一个Scala的条目,在右侧点击Restart IntelliJ IDEA
(4)创建maven项目
创建的maven项目默认是不支持scala的,需要为项目添加scala的framework,如图
在这里选择Scala后,在右边的Use library中配置你的安装目录即可,最后点击OK。
5)在项目的目录结构中,创建scala文件夹(类比java文件夹),并标记为source
如上图创建的scala文件夹为不是源码文件夹,不能被编译(蓝色文件夹表示写源码文件夹,代码会被编译),将scala文件夹标记为source。如下图
(5)以上配置都完成后,就可以在scala上点击右键创建scala class了
5 Scala示例
5.1 IDEA运行HelloScala程序
(1)在scala上右键创建scala class,创建scala object
(2)编写代码如下
/**
* Created by caimh on 2019/10/21.
*/
object HelloScalaDemo {
def main(args: Array[String]) {
//打印
println("Hello Scala");
}
}
Run HelloScalaDemo运行结果:
5.2 Scaladoc
官网: http://www.scala-lang.org/
API:http://www.scala-lang.org/api/2.11.0/index.html#scala.math.package