Scala 数据类型学习笔记
Scala 是一门静态类型语言,支持多种数据类型,包括基本数据类型和引用数据类型。在 Scala 中,数据类型可以分为以下几类:
- 数值型数据类型
- 字符型数据类型
- 布尔型数据类型
- 元组类型
- 列表类型
- 集合类型
- Map 类型
下面将逐一介绍这些数据类型。
数值型数据类型
Scala 支持整型、浮点型和字符型的数值类型:
scalaCopy Codeval x: Int = 10 // 整型
val y: Double = 3.14 // 浮点型
val z: Char = 'a' // 字符型
Scala 的数值型数据类型还支持常用的算术运算,例如:
scalaCopy Codeval a: Int = 10
val b: Int = 20
val c: Int = a + b // 加法运算
val d: Int = a - b // 减法运算
val e: Int = a * b // 乘法运算
val f: Int = a / b // 除法运算
字符型数据类型
在 Scala 中,字符型数据类型用单引号表示:
scalaCopy Codeval c: Char = 'a'
字符型数据类型支持转义字符和 Unicode 字符,例如:
scalaCopy Codeval s: String = "Hello, \nWorld!" // 转义字符
val u: String = "\u0068\u0065\u006c\u006c\u006f" // Unicode 字符
布尔型数据类型
Scala 中的布尔型数据类型只有两个值:true 和 false:
scalaCopy Codeval b1: Boolean = true
val b2: Boolean = false
布尔类型常用于条件语句中,例如:
scalaCopy Codeif (x > y) true else false
元组类型
元组类型是将多个不同类型的值组合在一起,形成一个不可变的集合。Scala 的元组类型可以包含两个或多个元素。
scalaCopy Codeval t1: (Int, String) = (1, "Hello")
val t2: (Double, Boolean, Long) = (3.14, false, 100L)
可以通过元素的下标来访问元组中的值:
scalaCopy Codeval x: Int = t1._1 // 访问第一个元素
val y: String = t1._2 // 访问第二个元素
列表类型
列表类型是一个可变长度的序列,它包含了相同类型的元素。
scalaCopy Codeval l1: List[Int] = List(1, 2, 3)
val l2: List[String] = List("Hello", "World!")
列表类型支持很多常用的操作,例如:
scalaCopy Codeval l3: List[Int] = l1 ++ List(4, 5) // 连接两个列表
val l4: Int = l1.head // 返回第一个元素
val l5: List[Int] = l1.tail // 返回除第一个元素外的其它元素
集合类型
集合类型是一个不可重复元素的集合,Scala 中的集合类型有两种:Set 和 SortedSet。
scalaCopy Codeval s1: Set[Int] = Set(1, 2, 3)
val s2: SortedSet[String] = SortedSet("Hello", "World!")
集合类型支持很多常用的操作,例如:
scalaCopy Codeval s3: Set[Int] = s1 ++ Set(4, 5) // 连接两个集合
val s4: Boolean = s1.contains(2) // 判断元素是否存在
Map 类型
Map 类型是一个键值对的集合,Scala 中的 Map 类型有两种:Map 和 SortedMap。
scalaCopy Codeval m1: Map[String, Int] = Map("one" -> 1, "two" -> 2, "three" -> 3)
val m2: SortedMap[String, String] = SortedMap("a" -> "apple", "b" -> "banana", "c" -> "cherry")
Map 类型支持很多常用的操作,例如:
scalaCopy Codeval m3: Map[String, Int] = m1 + ("four" -> 4) // 添加一个键值对
val m4: Int = m1("two") // 获取指定键的值
以上就是 Scala 数据类型的简介及使用示例。