Scala 數(shù)據(jù)類型

scala 數(shù)據(jù)類型

scala 與 java有著相同的數(shù)據(jù)類型,下表列出了 scala 支持的數(shù)據(jù)類型:

數(shù)據(jù)類型 描述
byte 8位有符號補(bǔ)碼整數(shù)。數(shù)值區(qū)間為 -128 到 127
short 16位有符號補(bǔ)碼整數(shù)。數(shù)值區(qū)間為 -32768 到 32767
int 32位有符號補(bǔ)碼整數(shù)。數(shù)值區(qū)間為 -2147483648 到 2147483647
long 64位有符號補(bǔ)碼整數(shù)。數(shù)值區(qū)間為 -9223372036854775808 到 9223372036854775807
float 32 位, ieee 754 標(biāo)準(zhǔn)的單精度浮點數(shù)
double 64 位 ieee 754 標(biāo)準(zhǔn)的雙精度浮點數(shù)
char 16位無符號unicode字符, 區(qū)間值為 u+0000 到 u+ffff
string 字符序列
boolean true或false
unit 表示無值,和其他語言中void等同。用作不返回任何結(jié)果的方法的結(jié)果類型。unit只有一個范例值,寫成()。
null null 或空引用
nothing nothing類型在scala的類層級的最底端;它是任何其他類型的子類型。
any any是所有其他類的超類
anyref anyref類是scala里所有引用類(reference class)的基類

上表中列出的數(shù)據(jù)類型都是對象,也就是說scala沒有java中的原生類型。在scala是可以對數(shù)字等基礎(chǔ)類型調(diào)用方法的。

 

1. scala 基礎(chǔ)字面量

scala 非常簡單且直觀。接下來我們會詳細(xì)介紹 scala 字面量。

 

2. 整型字面量

整型字面量用于 int 類型,如果表示 long,可以在數(shù)字后面添加 l 或者小寫 l 作為后綴。:

0
035
21 
0xffffffff 
0777l

 

3. 浮點型字面量

如果浮點數(shù)后面有f或者f后綴時,表示這是一個float類型,否則就是一個double類型的。范例如下:

0.0 
1e30f 
3.14159f 
1.0e100
.1

 

4. 布爾型字面量

布爾型字面量有 true 和 false。

 

5. 符號字面量

符號字面量被寫成: '<標(biāo)識符> ,這里 <標(biāo)識符> 可以是任何字母或數(shù)字的標(biāo)識(注意:不能以數(shù)字開頭)。這種字面量被映射成預(yù)定義類scala.symbol的范例。

如: 符號字面量 'x 是表達(dá)式 scala.symbol("x") 的簡寫,符號字面量定義如下:
package scala
final case class symbol private (name: string) {
   override def tostring: string = "'" + name
}

 

6. 字符字面量

在 scala 字符變量使用單引號 ' 來定義,如下:

'a' 
'\u0041'
'\n'
'\t'

其中 \ 表示轉(zhuǎn)義字符,其后可以跟 u0041 數(shù)字或者 \r\n 等固定的轉(zhuǎn)義字符。

 

7. 字符串字面量

在 scala 字符串字面量使用雙引號 " 來定義,如下:

"hello,\nworld!"
"碩編程官網(wǎng):www.slktour.com"

 

8. 多行字符串的表示方法

多行字符串用三個雙引號來表示分隔符,格式為:""" ... """。

范例如下:

val foo = """碩編程
www.slktour.com
www.slktour.com
www.codebbaoku.com
以上三個地址都能訪問"""

 

9. null 值

空值是 scala.null 類型。

scala.null和scala.nothing是用統(tǒng)一的方式處理scala面向?qū)ο箢愋拖到y(tǒng)的某些"邊界情況"的特殊類型。

null類是null引用對象的類型,它是每個引用類(繼承自anyref的類)的子類。null不兼容值類型。

 

10. scala 轉(zhuǎn)義字符

下表列出了常見的轉(zhuǎn)義字符:

轉(zhuǎn)義字符 unicode描述
\b \u0008 退格(bs) ,將當(dāng)前位置移到前一列
\t \u0009 水平制表(ht) (跳到下一個tab位置)
\n \u000a 換行(lf) ,將當(dāng)前位置移到下一行開頭
\f \u000c 換頁(ff),將當(dāng)前位置移到下頁開頭
\r \u000d 回車(cr) ,將當(dāng)前位置移到本行開頭
\" \u0022 代表一個雙引號(")字符
\' \u0027 代表一個單引號(')字符
\\ \u005c 代表一個反斜線字符 '\'

0 到 255 間的 unicode 字符可以用一個八進(jìn)制轉(zhuǎn)義序列來表示,即反斜線?\?后跟 最多三個八進(jìn)制。

在字符或字符串中,反斜線和后面的字符序列不能構(gòu)成一個合法的轉(zhuǎn)義序列將會導(dǎo)致 編譯錯誤。

以下范例演示了一些轉(zhuǎn)義字符的使用:

object test {
? ?def main(args: array[string]) {
? ? ? println("hello\tworld\n\n" );
? ?}
}

執(zhí)行以上代碼輸出結(jié)果如下所示:

$ scalac test.scala
$ scala test
hello????world

下一節(jié):scala 變量

scala 教程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频