基础

数据类型:

只列出多出Java的。

Unit:表示无值,类似于void。

Nothing:Nothing类型在Scala的类层级的最低端;它是任何其他类型的子类型。

Any:Any是所有其他类的超类。

AnyRef:AnyRef类是Scala里所有引用类(reference class)的基类。

多行字符串,使用“““”””,如:

“““我是

多行

字符串”””

变量:

var声明变量。如:var a : String = "asd"

val声明常量。如:val b : String = "qwe"

或者不指明数据类型,会自动判断类型,var myVar = 10; val myVal = "Hello, Scala!"

访问修饰符:

(待定)

方法与函数:

Scala既有方法也有函数,二者在定义上的区别很小。

方法是类的一部分,跟Java类似。

函数是一个对象可以赋值给一个变量,其实就是继承了 Trait 的类的对象。

在类中定义的函数就是方法。

使用val语句可以定义函数,def语句定义方法。

方法的写法:

Java:    int method(int a) { return a + 1; }

Scala:   def method(a : Int) : Int = { return a + 1}   (Unit相当于void)   如果不写等号及方法主体,则被隐式声明为抽象方法。

函数的写法:

Scala:    val func = (a : Int, b : Int) => a + b

闭包:

var factor = 2

val func = (a: Int) => a * factor

定义这个函数func的过程是将这个自由变量factor捕获,而构建成封闭的函数。

你可能感兴趣的:(基础)