基础语法
scala区分大小写 类名第一个字母要大写 方法名称第一个字母小写 程序入口定义def main(args:Array[String]) scala注释 // /* */ Scala第一行 package 包名 scala导入包 import 包名
scala数据类型
与java基本相同 有几个不同的 Unit:和java的void类似,无返回值 Nothing:在scala的类层级的最低端,是任何其他类型的子类型 Any:是其他所有类的超类
scala变量
var/val 变量名:数据类型=值
scala关键字
与java基本相同 private protected public if…..else while do…while for
scala函数
def 方法名称(参数:数据类型):返回值={方法体} 函数传名调用 函数可变参数 递归函数 高阶函数
数组
var 数组名:Array[数据类型]=new Array数据类型 var 数组名= new Array数据类型
集合
List(列表):其元素以线性方式存储,可以存放重复元素 Set(集合):元素不按照特定的方式排序,不可以存放重复元素。 Map(映射):键值对集合 元组:可以存放不同类型的集合,最大存储值22 Option[T]:可能包含值得容器为some(T),可能不包含值None Iterator(迭代器):不是一个真正的容器,更准确的说是逐一访问容器内元素的方法。
类和对象
class 类名(类参数 变量:数据类型){ } 继承:只有主构造函数才可以往基类的构造函数里写参数。 子类重写非抽象方法的时候,必须使用override关键字。 单例对象,object 定义即为单例对象。 伴生对象,类和object定义为同样的名字。
Trait特征
相当于java的接口,与接口不同的是可以定义属性和方法的实现
模式匹配
传入值 match{ case 匹配值=>返回值 }
正则表达式
引用 scala.util.matching.Regex包
异常处理
try{ catch{ case ex:错误=>{ } } finally{ } }