1 定义变量
单个变量:
var
name = "benxintuzi"
等价于 var name : String = "benxintuzi"(即定义变量时可以不显示指定类型,scala会根据数据自动识别)
多个变量:var x, y = 100
val
age = 10
说明:var定义变量,val定义常量
2 函数名的自动补全:Tab键
3 Scala的数值类型
与Java一样,Scala有7中数值类型:Byte/Char/Short/Int/Long/Float/Double/Boolean。与Java不同的是,Scala中的数值类型是类,其并不刻意区分基本类型和引用类型,即,你可以这样做:1.toString()-----"1"
在Scala中,对于数值类型之间的转换,不使用强制类型转换,而是使用方法,如:99.44.toInt----99
4 运算符重载
a + b 等价于调用a.+(b),因此1.to(10) 也等价于1 to 10
Scala中并没有提供自增++和自减—,需要使用 += 1 -= 1
5 函数和方法的调用
在Scala中,除了方法之外,还提供了函数,这样无形中会极大地简化编程,例如数学运算函数都存在如下包中:
Import scala.math._ // Scala中的 _ 相当于Java中的 *
当然,导入以scala.开头的包时,scala.可以省略,如上相当于import math._
Scala没有静态方法,不过却有个类似的特性,叫做companion对象,通常每个都带有这个对象,其方法与Java中的静态方法一样
不带参数的Scala方法通常不使用圆括号,如"Hello".distinct
6 apply方法
如同C++中的s[i], Java中的s.charAt(i),在Scala中,只需写s(i)即可,如"Hello"(4)----'o'
其实是调用了一个apply函数,相当于:"Hello".apply(4)
在StringOps类的文档中,apply定义如下:def apply(n : Int) : Char
-----源自《快学Scala》Chapter 1