一、注释
和Java完全一致
Java注释
二、变量和常量
声明常量
val 常量名 [:常量类型] = 初始值
val i:Int = 10
声明变量
var 变量名 [:变量类型] = 初始值
var j:Int = 10
- 声明变量时,类型可以忽略,编译器自动推导,即类型推导。
var j=10
; - 类型确定后,就不能修改,说明Scala是强数据类型语言;
- 变量声明时,必须赋初始值;
- 在声明/定义一个变量时,可以使用
var
和val
来修饰,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循环中返回元素,这些元素会构成一个序列