1.为什么要学习Scala

①Scala同Java一样是基于JVM的静态类型高级编程语言,是Java的扩展和延伸。Scala基于JVM,跟java完全兼容,java当中的很多类库可以在scala中直接调用,同样具有跨平台、可移植性好、方便的垃圾回收(GC)等特性;

②Scala比java更面向对象,java的语法很多来源于C,在底层做得不够面向对象。Scala更加存粹,做到了极致,完全面向对象的语言;

③Scala比java有更多的新特性,Scala还是一门函数式编程语言(让代码具有更好的可读性,让程序员可以更方便地实现很多很复杂的功能), java1.8引入了Lambda表达式就是函数式编程的概念,借鉴了Scala。Scala的名字来源于scalable(可扩展),所有scala本身的可扩展性很强,功能强大,语法简洁高效。

④Scala对处理集合类型的数据有先天的优势,适合大数据处理,Spark底层用Scala写的。


2.Scala官网

​https://www.scala-lang.org/​

Scala启蒙(一)_面向对象

Scala combines object-oriented and functional programming in one concise, high-level language. Scala's static types help avoid bugs in complex applications, and its JVM and JavaScript runtimes let you build high-performance systems with easy access to huge ecosystems of libraries.

选用哪个版本,要看项目需要,在官网Downloading里看说明。


3.Scala主要内容:

一、基本语法

变量和数据类型

运算符

流程控制


二、核心特性***(重要)

函数式编程

面向对象

集合


三、其他特色

模式匹配

异常处理

隐式转换

泛型