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 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主要内容:
一、基本语法
变量和数据类型
运算符
流程控制
二、核心特性***(重要)
函数式编程
面向对象
集合
三、其他特色
模式匹配
异常处理
隐式转换
泛型