scala基础_数据类型概览

Scala 数据类型

下表列出了 Scala 支持的数据类型:

类型类别 数据类型 描述 Scala标准库中的实际类
基本类型 Byte 8位有符号整数,数值范围为 -128 到 127 scala.Byte
基本类型 Short 16位有符号整数,数值范围为 -32768 到 32767 scala.Short
基本类型 Int 32位有符号整数,数值范围为 -2147483648 到 2147483647 scala.Int
基本类型 Long 64位有符号整数,数值范围为 -9223372036854775808 到 9223372036854775807 scala.Long
基本类型 Float 32位IEEE 754单精度浮点数 scala.Float
基本类型 Double 64位IEEE 754双精度浮点数 scala.Double
基本类型 Char 16位无符号Unicode字符,数值范围为 U+0000 到 U+FFFF scala.Char
基本类型 String 字符串类型,表示字符序列 java.lang.String
基本类型 Boolean 布尔类型,值为 true 或 false scala.Boolean
集合类型 List 不可变链表 scala.collection.immutable.List
集合类型 Set 不可变集合 scala.collection.immutable.Set
集合类型 Map 不可变键值对集合 scala.collection.immutable.Map
集合类型 Array 可变数组 scala.Array
集合类型 Tuple 可包含不同类型元素的不可变容器 scala.TupleN
集合类型 Option 代表有可能含有值或为空的容器 scala.Option
集合类型 Either 表示两种可能的值类型之一 scala.util.Either
集合类型 Try 处理操作结果可能成功或失败的容器 scala.util.Try
特殊类型 Unit 表示无值,相当于Java中的 void scala.Unit
特殊类型 Null 单例对象,表示所有引用类型的空值 scala.Null
特殊类型 Nothing 表示无返回值类型,是所有类型的子类型 scala.Nothing
特殊类型 Any 所有类型的超类型 scala.Any
特殊类型 AnyRef 所有引用类型的超类型,等价于Java中的 Object scala.AnyRef
scala 复制代码
import scala.util.{Try}

object DataObject {
  def main(args:Array[String]):Unit = {
    // 基本数据类型整形
    // 8位
    val byteValue: Byte = -128
    // 16位
    val shortValue: Short = 32767
    // 32位置
    val intval: Int = 2147483647
    // 64位置
    val longValue: Long =9999999999999999L
    // 打印输出
    println(byteValue)
    println(shortValue)
    println(intval)
    println(longValue)

    //浮点型
    // 32位
    val floatValue: Float = 0.333333333333333f
    // 64位
    val doublevalue: Double = 0.33333666699999988877
    println(floatValue)
    println(doublevalue)

    //字符类型
    // 单一字符 单引号包围 可变
    val charvalue:Char = 'A'
    // 字符序列 双引号包围 不能修改其中的单个字符
    val stirngvalue:String = "abcdefg"
    println(charvalue)
    println(stirngvalue)

    //布尔值
    val boolvalue:Boolean = true
    val boolvalue2:Boolean = false
    print(boolvalue); println(boolvalue2)

    //集合类型
    // 不可变链表
    val listValue: List[Any] = List(1,2,3,4,"ldsx")
    // 不可变集合
    val setvalue:Set[Int] = Set(1,1,1,1,2,3,33)
    // 不可变键值对集合
    val mapvalue: Map[Any,Any] = Map("LDSX"->123,123->"6666","bl"->654)
    // 可变数组
    val arrayvalue:Array[Int] = Array(6584,456,555)
    // 元组 可包含不同类型元素的不可变容器
    val tuplevalue:(Any) = (1,3,4,5)
    // 代表有可能含有值或为空的容器
    val optionvalue:Option[String] = Some("AS WE KNOW")
    // 表示两种可能的值类型之一
    val eithervalue:Either[Any,Any] = Right(42)
    // 处理操作结果可能成功或失败的容器
    val  tryvalue:Try[Int] = Try(6)

    println(listValue)
    println(setvalue)
    println(mapvalue)
    println(arrayvalue)
    println(tuplevalue)
    println(optionvalue)
    println(eithervalue)
    println(tryvalue)

    //特殊类型

    //表示无值
    val unitvalue: Unit = ()
    // 单例对象,表示所有引用类型的空值
    val nullvalue: String= null

    println(unitvalue)
    println(nullvalue)

  }
}

打印显示

复制代码
-128
32767
2147483647
9999999999999999
0.33333334
0.33333666699999986
A
abcdefg
truefalse


List(1, 2, 3, 4, ldsx)
Set(1, 2, 3, 33)
Map(LDSX -> 123, 123 -> 6666, bl -> 654)
[I@4de8b406
(1,3,4,5)
Some(AS WE KNOW)
Right(42)
Success(6)


()
null
相关推荐
FRing036 分钟前
JavaScript入门到精通二十六(变量提升、函数剩余参数、展开运算符、ES6箭头函数)
开发语言·前端·javascript·es6·箭头函数
云深麋鹿9 分钟前
C++ | 基于红黑树实现mymap与myset
开发语言·c++
薛定e的猫咪18 分钟前
(ICLR 2026)DF-META:面向 FJSP 的无导数元学习实例自适应调度
人工智能·深度学习·学习·算法·机器学习
weixin_417396831 小时前
桌面云终端PXE启动失败怎么排查?从DHCP Option到镜像下发
开发语言·前端·php·技术·酒店·综合布线·弱电
某不知名網友1 小时前
ROS2进阶:服务通信、自定义SRV接口、参数服务器与基于服务的参数通信详解
java·开发语言·microsoft
java_nnnn2 小时前
LeetCode刷题滑动窗口(水果成篮+找到字符串中所有字母的异位词)Java
java·开发语言·leetcode
qetfw2 小时前
Bash 字符串处理:参数展开、序列与脚本执行方式
linux·开发语言·chrome·bash
小羊没烦恼!2 小时前
异步编程:线程概述及使用
java·开发语言·mysql·算法·c#
学Linux的语莫2 小时前
python中类的常见写法
开发语言·python·状态模式
需要8262 小时前
容器化 Java:镜像瘦身与 JVM 容器感知(cgroup)
java·开发语言·jvm