自学内容网 自学内容网

scala基础_数据类型概览

Scala 数据类型

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

类型类别数据类型描述Scala标准库中的实际类
基本类型Byte8位有符号整数,数值范围为 -128 到 127scala.Byte
基本类型Short16位有符号整数,数值范围为 -32768 到 32767scala.Short
基本类型Int32位有符号整数,数值范围为 -2147483648 到 2147483647scala.Int
基本类型Long64位有符号整数,数值范围为 -9223372036854775808 到 9223372036854775807scala.Long
基本类型Float32位IEEE 754单精度浮点数scala.Float
基本类型Double64位IEEE 754双精度浮点数scala.Double
基本类型Char16位无符号Unicode字符,数值范围为 U+0000 到 U+FFFFscala.Char
基本类型String字符串类型,表示字符序列java.lang.String
基本类型Boolean布尔类型,值为 truefalsescala.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中的 voidscala.Unit
特殊类型Null单例对象,表示所有引用类型的空值scala.Null
特殊类型Nothing表示无返回值类型,是所有类型的子类型scala.Nothing
特殊类型Any所有类型的超类型scala.Any
特殊类型AnyRef所有引用类型的超类型,等价于Java中的 Objectscala.AnyRef
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

原文地址:https://blog.csdn.net/weixin_43322583/article/details/144447029

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!