[关闭]
@amoszhou 2014-04-24T16:44:38.000000Z 字数 908 阅读 1576

Scala学习之一--基础篇

定义变量

定义变量时,不用指字类型,系统会自动进行类型推断。这一点好像已经成为现在新出语言的标配,使用关键字:

常用类型

scala是一个纯粹的学院派OO语言,它认为Java中的基础数据类型这些是一些不纯粹的OO概念,是一些妥协。因为,scala中没有基础数据类型。所有东西都是类,都是对象。8种java基础数据类型分别对应scala中的类型:Byte,Char,Short、Int、Long、Float、Double、Boolean。注意,这些都是类

算术和操作符重载

因为Scala中所有的东西都是类,因为所有的操作都是方法(或者函数),类似于

val sum = 1 + 2

实质上调用了"+()"方法,等同于如下代码:

val sum = 1.+(2)

对于有2个参数的方法,往往都可以用这种格式。用方法调用的格式,那是JAVA程序员的习惯,不过既然是学习Scala,我们还是建议采用Scala的格式。再举个例:

1.to(10)
这是JAVA的风格,但是scala更偏向于
1 to 10 

既然操作符都是方法,那么自然可以进行重载。
值得注意的是:scala没有++,--这种操作。取而代之的是+=1,-=1

apply()方法

"Hello"(4) //产出'o'
这可不是构造函数,这实质上scala的一个语言糖,其实是调用了apply()。以上代码相当于
"Hello".apply(4)

关于这个方法我们留到后面讲伴生对象的时候再讲,此处留下悬念。

关于API以及一些工具类

首先scala的API很难读,比起JAVA那真是难读百倍。但是还是要试着去看,有几个小窍门

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注