一、scala數據類型
Byte:8位有符號整數
Short:16位有符號整數
Int:32位有符號整數
Long:64位有符號整數
Float:32位單精度浮點數
Double:64位雙精度浮點數
Char:16位無符號Unicode字符
String:字符串類型
Boolean:true或false
Unit:表示無值,主要用於無返回結果的方法的返回類型。Unit的實例值爲()
Null:null或空引用
Nothing:所有類型的子類。
None:Option的子類型
Nil:空的list
二、字符串常用操作
1、數字類型直接轉字符串
val num:Int=10
println(num.toString)
直接使用toString()方法,toString方法可以不帶()
2、字符串轉數字
如果能夠確認字符串爲數字類型,可以直接使用toInt,toDouble進行轉換。如果不能確認,可以使用如下方法進行判斷或轉換:
def isDouble(value:String):Boolean={
var c:Try[Any]=null
c=scala.util.Try(value.toDouble)
val result = c match {
case Success(_) => true;
case _ => false;
}
result
}
def toDouble(value:String):Option[Double]={
try {
Some(value.toDouble)
} catch {
case e: Exception =>Some(-0.0)
}
}
3、字符串長度
val value:String="1.0.5"
println(value.length)
out:5
4、字符串格式化
println("%s-%s-%s".format("aa","bb","cc"))
out:aa-bb-cc
三:特殊的數據類型,如Null、None、Nil、Nothing的區別
四種類型均爲空值類型
- Null爲空引用,是所有AnyRef的子類,也就是說所有引用類型的空類型可以使用Null,值類型不可以使用Null。
- None是一個object,是Option的子類型,some也是option的子類,Option爲空時使用None。
- Nil是List一個子類,List爲空時可以使用Nil
- 最後說下Nothing,Nothing是所有類型的子類,所有類型爲空時可以使用Nothing
四、對象的基類:Any、AnyRef、AnyVal
Any:任何對象的基類,包括AnyRef和AnyVal
AnyRef:引用類型對象的基類
AnyVal:值類型對象的基類
五、變量
1、變量: 在程序運行過程中其值可能發生改變的量叫做變量。使用var聲明
2、常量:在程序運行過程中其值不會發生變化的量叫做常量。使用val聲明