一、注释

和Java完全一致
Java注释

二、变量和常量

  • 声明常量

    1. val 常量名 [:常量类型] = 初始值
    2. val i:Int = 10
  • 声明变量

    1. var 变量名 [:变量类型] = 初始值
    2. var j:Int = 10
    • 声明变量时,类型可以忽略,编译器自动推导,即类型推导。var j=10
    • 类型确定后,就不能修改,说明Scala是强数据类型语言;
    • 变量声明时,必须赋初始值;
    • 在声明/定义一个变量时,可以使用varval来修饰,var修饰的变量可改变,val修饰的变量不可改。

三、标识符的命名规范

  • 字母下划线开头,后接字母、数字、下划线
  • 以操作符开头,且只包含操作符 +-*/#!
  • 用反引号 包含任意的字符串,即使是关键字也可以

    四、保留字

    abstract 做抽象声明
    case match 表达式中的case子句;定义一个case类
    catch 捕捉抛出的异常
    class 声明一个类
    def 定义一个方法
    do 用于do…while循环
    else 与if配对的else语句
    extends 表示接下来的class或trait是所声明的class或trait的父类型
    FALSE Boolean的false值
    final 用于class或trait,表示不能派生子类型;用于类型成员,则表示派生的
    class 或trait不能覆写它
    finally finally语句跟在相应的try语句之后,无论是否抛出异常都会执行
    for for循环
    forSome 用在已存在的类型声明中,限制其能够使用的具体类型
    if if语句
    implicit 使得方法或变量值可以被用于隐含转换;将方法参数标记为可选的,只要在调用该方法时,作用域内有类型匹配的候选对象,就会使用该对象作为参数
    import 将一个或多个类型抑或类型的成员导入到当前作用域
    lazy 推迟val变量的赋值
    match 用于类型匹配语句
    new 创建类的一个新实例
    null 尚未被赋值的引用变量的值
    object 用于单例声明,单例是只有一个实例的类
    override 当原始成员未被声明为final时,用override覆写类型中的一个具体成员
    package 声明包的作用域
    private 限制某个声明的可见性
    protected 限制某个声明的可见性
    requires 停用,以前用于自类型
    return 从函数返回
    sealed 用于父类型,要求所有派生的子类型必须在同一个源文件中声明
    super 类似this,但表示父类型
    this 对象指向自身的引用;辅助构造函数的方法名
    throw 抛出异常
    trait 这是一个混入模块,对类的实例添加额外的状态和行为;也可以用于声明而不实现方法,类似Java的interface
    try 将可能抛出异常的代码块包围起来
    TRUE Boolean的true值
    type 声明类型
    val 声明一个“只读”变量
    var 声明一个可读可写的变量
    while 用于while循环
    with 表示所声明的类或实例化的对象包括后面的trait
    yield 在for循环中返回元素,这些元素会构成一个序列