文章目录
1 认识Scala
1.1 Scala简述
Scala比Java更为复杂,与Java有着密不可分的联系。它是一种面向对象与函数式编程结合的编程语言,在多次语言复杂度排行榜中排行第一,它很难去理解,但是它在其他语言的基础上省去了很多细节。它的发明者是马丁·奥德斯基,是一个狂热的编译器爱好者。
1.2 Scala与Java的关系
Scala非常的高效简单,使得编程人员更加愉悦。基于C语言和C++都认为不够完美,但是JAVA的虚拟机特性吸引了马丁,通过Java得到了灵感,创造了两个语言,第一个是Pizza第二个是Scala。Java经历了两个变化比较大的版本,1.5和1.8。这两个版本都是源于Scala和Pizza的促进。这两种语言都运行在Java的虚拟机上。JDK1.5最实用的特性之一是泛型,源自Pizza。目前来说,Java的编译器功能90%源自马丁的开发。JDK1.8的特性之一lambda表达式函数式编程也是源自马丁。Java的版本迭代会越来越依赖于这些新型的语言。Scala运行于Java的虚拟机上,也是编译成Java的字节码,编写Scala程序之前也要安装JDK或者JRE。Scala是伊恩以Java虚拟机为木匾运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。
什么是静态类型?
数据类型可以不必声明。
Scala也是基于Java,首先要声明数据类型,但是它也融合了类型推断的机制。
Java不是纯粹的面向对象的语言。因为有数据类型,有NULL的数据表示方法,有static修饰的变量和函数。然而Scala的纯粹面向对象的编程语言。
2 Scala的开发环境搭建–安装与配置。
2.1 安装
scala对于Windows的安装包。点击此处进行下载Scala
傻瓜式安装 安装路径不要有空格。否则会不识别。
现在Scala与Eclipse中插件有冲突,于是现在都用IDEA进行编写Scala程序。
2.2 配置环境变量
在cmd命令行端口输入Scala,出现欢迎界面,说明Scala已经安装成功。
我们可以看到这类似于Mysql的命令行端口。
下面是测试,返回的量30(Scala Int类型)是默认分配给一个叫res0的变量。
Scala不区分基本数据类型和对象数据类型,所有的类型都是对象数据类型。
上述开发环境与Java有很大的区别,但是Scala编程也要生成字节码文件运行到Java虚拟机上的,不是没有这个环节,是省去了这个环节。
2.3 REPL环境
Read-Eval-Print-Loop
读取-计算-打印-循环(迭代)。
读取10 + 20。进行计算出30并打印到控制台,然后再等着下一次读取和计算。
- 后面得到的都是它的方法。可以重写。
调用加法方法,1到10显示的方法。
Scala的一门灵活的,代码非常简单,没有硬性规定的,耦合度低的编程语言。能够让 程序越写越简单。
在规则允许的范围之内能够省略括不用加。断行的分号也可以不用加。
但是REPL只是测试代码常用,正常开发是不会在REPL上运行的。
2.4 与 IDEA 工具集成开发环境
开发方式:直接使用Scala;与maven结合。
2.4.1 首先新建一个Scala工程
2.4.2 进行相关配置
我们需要Scala和IDEA结合的插件(plugins)。点击此处进行下载。
显示安装成功!
查看已经安装并点击重启
重启后我们尝试scala编程。
对模块进行设置,添加scala框架。
创建Scala的支持。
可以看到Scala 类的创建了。
3 使用 Scala 编写 HelloWorld 程序
创建Scala类 object。
示例代码:
/** *******************
*
* @auther Dr.Li
* @create 2019-11-03 20:17
* ********************/
object HelloScala {
def main(args:Array[String]):Unit = {
println("hello Scala!")
}
}
运行结果:
Scaladoc
如果想要了解 Scala 中提供了哪些类, 哪些方法,可以参考 Scala 提供的 doc 文档。