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 布尔类型,值为 truefalse 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
相关推荐
老衲有点帅4 分钟前
C#多线程Thread
开发语言·c#
C++ 老炮儿的技术栈11 分钟前
什么是函数重载?为什么 C 不支持函数重载,而 C++能支持函数重载?
c语言·开发语言·c++·qt·算法
inputA24 分钟前
【LwIP源码学习6】UDP部分源码分析
c语言·stm32·单片机·嵌入式硬件·网络协议·学习·udp
海尔辛24 分钟前
学习黑客5 分钟读懂Linux Permissions 101
linux·学习·安全
IsPrisoner29 分钟前
Go语言安装proto并且使用gRPC服务(2025最新WINDOWS系统)
开发语言·后端·golang
Python私教35 分钟前
征服Rust:从零到独立开发的实战进阶
服务器·开发语言·rust
chicpopoo40 分钟前
Python打卡DAY25
开发语言·python
crazyme_61 小时前
深入掌握 Python 切片操作:解锁数据处理的高效密码
开发语言·python
真的想上岸啊2 小时前
学习51单片机01(安装开发环境)
嵌入式硬件·学习·51单片机
邹诗钰-电子信息工程2 小时前
嵌入式自学第二十一天(5.14)
java·开发语言·算法