目录

Scala 基本数据类型

2018年02月02日 08:46 | 2229次浏览

本篇介绍Scala支持的基本数据类型,如果你是个Java程序员,你会发现Java支持的基本数据类型,Scala都有对应的支持,不过Scala的数据类型都是对象(比如整数),这些基本类型都可以通过隐式自动转换的形式支持比Java基本数据类型更多的方法。隐式自动转换的概念将在后面介绍,简单的说就是可以为基本类型提供扩展,比如如果调用(-1).abs() ,Scala发现基本类型Int 没有提供abs()方法,但可以发现系统提供了从Int类型转换为RichInt的隐式自动转换,而RichInt具有abs方法,那么Scala就自动将1转换为RichInt类型,然后调用RichInt的abs方法。

Scala的基本数据类型有:Byte,Short,Int,Long和Char(这些成为整数类型)。整数类型加上Float和Double成为数值类型。此外还有String类型,除String类型在java.lang包中定义,其它的类型都定义在包scala中。比如Int的全名为scala.Int。实际上Scala运行环境自动会载入包scala和java.lang中定义的数据类型,你可以使用直接使用Int,Short,String 而无需再引入包或是使用全称。

下面的例子给出了这些基本数据类型的字面量用法,由于Scala支持数据类型推断,你在定义变量时多数可以不指明数据类型,而是由Scala运行环境自动给出变量的数据类型:

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的基本数据类型的字面量也支持方法(这点和Java不同,Scala中所有的数值字面量也是对象),比如:

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)



小说《我是全球混乱的源头》

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程