scala初体验2——基础约定

一、你要懂得
1.规则
(1)无分号:scala中如果一行只包含一条语句,那么语句后面可以不加分号;
(2)对象的世界:在scala中,任何类型都是对象。
         ——1.toString() // 返回字符串 "1",在这段语句中1Int对象,它含有toString()方法;
         ——函数也是对象,函数是这个世界的一等公民(这体现了scala中函数式编程的特点)
2.声明值和变量
(1Scala使用有两种关键字来声明值或变量:
val:不变量,相当于java中的final
var:可变量
在scala中,vala使用得更加频繁,Egval answer = 8 * 5 + 2
2scala的变量类型通常为缺省,如果不缺省,要使用如下形式
val greeting: String = null
,变量类型使用冒号放在变量名的后面。

3.方法调用
(1)在scala中,方法的调用与java相同,但是又有所扩展。例如:
对象T t=new T();调用方法:t.method5)与java中相同,但有可以写成:t method 5——即剩略点号和括号。
(2)对于没有参数的方法,scala中可以不写括号,eg1.toString()可改写为1.toString4.基本数据类型
scala中有java中的基本数据类型,但它们都是对象形式。在使用时,可以自动转换为各自相应的Rich类型,Eg1.toString(),其中1Int类型,但是该类型没有toString()方法,所以调用时由Int类型转换为RichInt类型;类似的有double-RichDoublelong-RichLong等。

5.
运算符重载 (1)前面我们了解到scala中,一切都是对象,所以“1+1”实际上是1.+1),其中+为运算符,我们在这里将其重载为方法:.+(),根据上面的省略规律,1.+1)可改写为1+1;其它运算符也遵循相似的原则。 (2)但是scala中没有++--运算,替代它们的是+=1 -=1; (3apply方法 在scala中普遍使用类似函数调用的语法. 例如, 如果s是一个string类型,那么s(i)string的第i个字符。其中,s(i)是由s.apply(i)简化而来的。在scala的对象中,apply方法总是可以去掉方法名,eg
posted @ 2012-10-05 21:15  stopit  阅读(713)  评论(0编辑  收藏  举报