美文网首页
Scala编程基础4:Scala数据类型

Scala编程基础4:Scala数据类型

作者: 金字塔下的小蜗牛 | 来源:发表于2020-04-08 08:15 被阅读0次

Scala与Java有着相同的数据类型,下表列出了Scala支持的数据类型:

image

上表中列出的数据类型都是对象,也就是说Scala没有Java中的原生类型。在Scala中可以对数字等基础类型调用方法。

1.Scala基础字面量

Scala非常简单且直观。接下来我们会详细介绍Scala字面量。

1.1 整型字面量

整型字面量用于Int类型,如果表示Long类型,需要在数字后面添加大写L或者小写l作为后缀:

scala> 21 //十进制
res1: Int = 21
scala> 035 //新版Scala不支持八进制
<console>:1: error: Decimal integer literals may not have a leading zero. (Octal
syntax is obsolete.)
035
^
scala> 0xFFFF //十六进制
res2: Int = 65535
scala> 123L //Long型
res3: Long = 123

1.2 浮点型字面量

浮点型默认是Double类型,如果想表示Float类型需要在数字后面加上F或者f:

scala> 0.0
res5: Double = 0.0
scala> 1e30f
res6: Float = 1.0E30
scala> 2.0e100
res7: Double = 2.0E100
scala> .1 //新版Scala不支持这种省略前面的0的写法
<console>:1: error: ';' expected but double literal found.
res7.1
^

1.3 布尔型字面量

布尔型字面量只有true和false两种。

1.4 符号字面量

符号字面量的形式为:'<标识符>,这里的标识符可以是任何字母或者数字(不能以数字开头),这种字面量被映射成预定义类scala.Symbol的实例。如:符号字面量’x是表达式scala.Symbol(“x”)的简写,符号字面量定义如下:

package scala
final case class Symbol private (name: String) {
    override def toString: String = "'"+ name
}

符号字面量的例子如下:

scala> 'x
res8: Symbol = 'x
scala> scala.Symbol("c")
res10: Symbol = 'c

1.5 字符字面量

在scala中字符类型表示为半角单引号(‘)中的字符,如下:

scala> 'a'
res11: Char = a
scala> '\u0041'
res12: Char = A
scala> '\n'
res13: Char =
scala> '\t'
res14: Char =

其中\表示转义字符,转义后的字符有特殊的含义,如\n表示换行,\t表示水平制表符等。

1.6 字符串字面量

字符串表示方法时在双引号中(“”)包含一些列字符,如:

scala> "Hello Scala !"
res15: String = Hello Scala !

1.7 多行字符串的表示方法

多行字符串使用三层双引号(“”””””)括起来的字符串,支持换行,例如:

scala> """Hello
| Scala
| !
| """
res16: String =
"Hello
Scala
!
"

1.8 Null值

空值是scala.Null类型。scala.Null和scala.Nothing是用统一的方式处理Scala面向对象类型系统的某些“边界情况”的特殊类型。Null类是null引用对象的类型,它是每个引用类(继承自AnyRef的类)的子类。Null不兼容值类型。例如:

scala> null
res17: Null = null
scala> var a:Null = 10
<console>:11: error: type mismatch;
found : Int(10)
required: Null
var a:Null = 10
^

1.9 Scala转义字符

下面列出了Scala中常见的转义字符:

image

0到255之间的Unicode字符可以使用一个八进制转义序列来表示,即反斜线\后面最多跟三个八进制数字。在字符或者字符串中,反斜线\和后面的字符序列如果不能构成一个合法的转义序列将导致编译错误。下面的例子演示了转义字符的使用:

编写一个Test.scala的文本文件,内容如下:

object Test {
   def main(args: Array[String]) { println("Hello\tWorld\nI Love \'Scala\'" );
   }
} 

执行以上代码输出结果如下所示:

E:\Test>scalac Test.scala
E:\Test>scala Test
Hello World
I Love 'Scala'

相关文章

  • Scala函数式编程(三) scala集合和函数

    前情提要: scala函数式编程(二) scala基础语法介绍 scala函数式编程(二) scala基础语法介绍...

  • Scala编程基础4:Scala数据类型

    Scala与Java有着相同的数据类型,下表列出了Scala支持的数据类型: 上表中列出的数据类型都是对象,也就是...

  • Scala函数式编程(四)函数式的数据结构 下

    前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Sc...

  • Scala函数式编程(五) 函数式的错误处理

    前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Sc...

  • 第三讲函数详解

    Scala被认为是函数式编程语言,故Scala函数是Scala编程的核心。所以掌握scala的函数至关重要。 本章...

  • Scala基础

    Scala概述 Scala设计的目的是整合面向对象编程和函数式编程。Scala运行于Java平台(JVM),并兼容...

  • Scala从入门到小工| 01

    Scala学习之一 Scala概述 scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性。sc...

  • scala特性

    为了能用scala开发spark,简单的介绍一下scala特性.scala即面向对象编程,也同时面向方法编程,也可...

  • Scala从入门到精通

    1 初识 Scala 1.1 Scala 概述 Scala 是一门多范式的编程语言,设计初衷是要集成面向对象编程和...

  • -6- 类型层次结构

    [参考link] Scala类型层次结构 与Java不同,Scala中没有原生类型。Scala中的所有数据类型都是...

网友评论

      本文标题:Scala编程基础4:Scala数据类型

      本文链接:https://www.haomeiwen.com/subject/dvjkdhtx.html