Scala
Scala 重要内容
Scala:
object-oriented and functional programming
对象(类)与函数 都是一等公民,都可以独立存在和运行
建立JVM之上一门语言
*.scala -> *.class -> JVM
官网:
https://www.scala-lang.org/
下载:
https://www.scala-lang.org/download/all.html
兼容性:
2.11.x 2.10.x 2.9.x 都是相互不同兼容
Scala 提供交互式命令行
类似Python或bin/hive
REPL:
Read -> Evaluate -> Print -> Loop
Scala 中一切皆对象,不存在原生数据类型,
val addNum = 12 + 30
等价于
val addNum2 = 12.+(30)
Scala 中不支持三种操作符
++ -- ?:
Scala 中主要掌握知识
Scala中的流程控制
While
for循环
Breaks 跳出循环
Scala中的集合
-1. 可变集合
ArrayBuffer
scala.collection.mutable.ListBuferr
scala.collection.mutable.Set
scala.collection.mutable.Map
-2. 不可变集合
scala.collection.immutable
Array\List\Set\Map
-3. 使用集合类的时候,默认情况下使用不可变的集合
Array
创建Array的两种方式
Array的添加与转换
元组的定义
List
创建不可变list
可变list
排序
分组
聚合
Set
最大作用 去重
Map
创建
遍历
可变Map创建
map() 方法
flatMap()
Scala中的函数
简单的定义
赋值 _
函数写法的简化 省略
默认值
可变参数
高阶函数!!!!
即函数中的参数也是函数
OOP 面向对象、函数编程
类的简单创建与调用
定义类
调用类
类的构造方法
*在SCALA中构造方法分为两种:
-1.主构造方法:在创建类的对象的时候,进行初始化操作
只有一个
直接 紧跟 类Class 后面, 如果没有属性的话, 可以省略()
-2.附属构造方法
多个
-a.在calss类中的方法,但是方法的名称必须是this
-b.每个附属构造方法第一行代码,必须调用主构造方法或已经存在的附属构造方法
-c.附属构造方法的参数 不能与主构造方法的参数一致
伴生对象
Trait (类似java接口)
创建
继承
异常处理,模式匹配
模式匹配类似于java中的switc case 功能比java的强大很多
基本使用
元组使用
case calss 样例类
会自动生成伴生对象,不在需要new方法
模式匹配,也弄匹配样例类
隐式函数
举一个超人打怪兽例子