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
相关推荐
conkl8 分钟前
在 CentOS 系统上实现定时执行 Python 邮件发送任务完整指南
linux·运维·开发语言·python·centos·mail·邮箱
whycthe18 分钟前
c++竞赛常用函数
java·开发语言
wydaicls21 分钟前
了解一下kernel6.12中cpu_util_cfs_boost函数的逻辑
linux·开发语言
Violet_YSWY34 分钟前
final是干嘛的
java·开发语言
南方的狮子先生1 小时前
【数据结构】(C++数据结构)查找算法与排序算法详解
数据结构·c++·学习·算法·排序算法·1024程序员节
一只小透明啊啊啊啊1 小时前
Java的中间件
java·开发语言·中间件
学编程就要猛2 小时前
数据结构初阶:Java中的ArrayList
java·开发语言·数据结构
JH30732 小时前
10分钟理解泛型的通配符(extends, super, ?)
java·开发语言·windows
Tony Bai2 小时前
【Go模块构建与依赖管理】01 前世今生:从 GOPATH 的“混乱”到 Go Modules 的“秩序”
开发语言·后端·golang
缺点内向2 小时前
Java 使用 Spire.XLS 库合并 Excel 文件实践
java·开发语言·excel