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

2018-09-28 18:15 更新

基本數(shù)據(jù)類型

本篇介紹 Scala 支持的基本數(shù)據(jù)類型,如果你是個 Java 程序員,你會發(fā)現(xiàn) Java 支持的基本數(shù)據(jù)類型,Scala 都有對應(yīng)的支持,不過 Scala 的數(shù)據(jù)類型都是對象(比如整數(shù)),這些基本類型都可以通過隱式自動轉(zhuǎn)換的形式支持比 Java 基本數(shù)據(jù)類型更多的方法。隱式自動轉(zhuǎn)換的概念將在后面介紹,簡單的說就是可以為基本類型提供擴展,比如如果調(diào)用 (-1).abs() ,Scala 發(fā)現(xiàn)基本類型 Int 沒有提供 abs()方法,但可以發(fā)現(xiàn)系統(tǒng)提供了從 Int 類型轉(zhuǎn)換為 RichInt 的隱式自動轉(zhuǎn)換,而 RichInt 具有 abs 方法,那么 Scala 就自動將 1 轉(zhuǎn)換為 RichInt 類型,然后調(diào)用 RichInt 的 abs 方法。

Scala 的基本數(shù)據(jù)類型有: Byte,Short,Int,Long 和 Char (這些成為整數(shù)類型)。整數(shù)類型加上 Float 和 Double 成為數(shù)值類型。此外還有 String 類型,除 String 類型在 java.lang 包中定義,其它的類型都定義在包 scala 中。比如 Int 的全名為 scala.Int。實際上 Scala 運行環(huán)境自動會載入包 scala 和 java.lang 中定義的數(shù)據(jù)類型,你可以使用直接使用 Int,Short,String 而無需再引入包或是使用全稱。

下面的例子給出了這些基本數(shù)據(jù)類型的字面量用法,由于 Scala 支持數(shù)據(jù)類型推斷,你在定義變量時多數(shù)可以不指明數(shù)據(jù)類型,而是由 Scala 運行環(huán)境自動給出變量的數(shù)據(jù)類型:

Welcome to Scala version 2.11.0-M5 (OpenJDK 64-Bit Server VM, Java 1.7.0_25).
Type in expressions to have them evaluated.
Type :help for more information.
scala> var hex=0x5
hex: Int = 5
scala> var hex2=0x00ff
hex2: Int = 255
scala> val prog=0xcafebabel
prog: Long = 3405691582
scala> val littler:Byte= 38
littler: Byte = 38
scala> val big=1.23232
big: Double = 1.23232
scala> val a='A'
a: Char = A
scala> val f ='\u0041'
f: Char = A
scala> val hello="hello"
hello: String = hello
scala> val longString=""" Welcome to Ultamix 3000. Type "Help" for help."""
longString: String = " Welcome to Ultamix 3000. Type "Help" for help."
scala> val bool=true
bool: Boolean = true  
scala>  

Scala的基本數(shù)據(jù)類型的字面量也支持方法(這點和 Java 不同,Scala 中所有的數(shù)值字面量也是對象),比如:

scala> (-2.7).abs
res3: Double = 2.7
scala> -2.7 abs
warning: there were 1 feature warning(s); re-run with -feature for details
res4: Double = 2.7
scala> 0 max 5
res5: Int = 5
scala> 4 to 6
res6: scala.collection.immutable.Range.Inclusive = Range(4, 5, 6)  

這些方法其實是對于數(shù)據(jù)類型的 Rich 類型的方法,Rich 類型將在后面再做詳細介紹。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號