SCALA程序设计 第二章:Scala基础

1、Scala声明变量方式,val常量,var变量
    提示:var和val关键字只标识引用本身是否可以指向另一个不同的对象,它们并未表明其所引用的对象是否可变。为了减少可变性引起的bug,应该尽可能地使用不可变变量。变量类型可以省略,
解析器会根据值进行推断。val和var声明变量时都必须初始化。
2、Scala有8种数据类型:Byte、Char、Short、Int、Long、Float、Double、Boolean,首字母大写。Scala不区分基本类型和引用类型,这些类型都是对象。每种数据类型都有Rich*类型,如RichInt、RichChar等。
3、Scala没有强制转换,需要通过方法进行类型转换。
4、Scala所有的值都是类对象,最终继承一个统一的根类型Any,Scala中还定义了几个底层类(Bottom Class):
    1)Null是所有引用类型的子类型,而Nothing是所有类型的子类型。Null类只有一个实例对象,null,类似于Java中的null引用。null可以赋值给任意引用类型,但是不能赋值给值类型。
    2)Nothing,可以作为没有正常返回值的方法的返回类型,非常直观的告诉你这个方法不会正常返回,而且由于Nothing是其它任意类型的子类,他还能跟要求返回值的方法兼容。
    3)Unit类型用来表示过程,也就是没有明确返回值的函数。由此可见,Unit类似于Java里的void,Unit只有一个实例,(),这个实例也没有实质的意义。
5、Scala还提供了函数,比如数学函数,import  包名._, _通配符,等于Java中的*
6、Scala没有静态方法,通过单例对象或伴生对象进行实现。
7、option类型,Scala为单个值提供了对象包装器,表示为那种可能存在也可能不存在的值。他只有两个有效的子类对象,一个是Some表示某个值,一个是None表示空。

猜你喜欢

转载自blog.csdn.net/walykyy/article/details/89511321