CC00005.scala——|Hadoop&Scala.V05|——|Scala.v05|Scala编程|常用类型|字面值|

一、常用类型与字面量
数据类型描述
Byte8位有符号补码整数。数值区间为 -128 到 127
Short16位有符号补码整数。数值区间为 -32768 到 32767
Int32位有符号补码整数。数值区间为 -2147483648 到 2147483647
Long64位有符号补码整数。数值区间为 -9223372036854775808 到
9223372036854775807
Float32 位, IEEE 754标准的单精度浮点数
Double64 位 IEEE 754标准的双精度浮点数
Char16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF
String字符序列
Booleantrue或false
Unit表示无值,相当于Java中的void,用于不返回任何结果的方法的返回类型。Unit写成()
Null通常写成null
NothingNothing类型在Scala类层级的最低端,它是任何其他类型的子类型
AnyAny是Scala中所有类的超类
AnyRefAnyRef是Scala中所有引用类的超类
### --- 常用类型与字面量说明

~~~     Scala和Java一样,有8种数值类型 Byte、Short、Int、Long、Float、Double、Char、Boolean 类型
~~~     和 Java 不同的是 ,这些类型都是类,有自己的属性和方法。
~~~     Scala并不刻意的区分基本类型和引用类型。
~~~     String 直接引用 Java.lang.String 中的类型,String在需要时能隐式转换为StringOps,
~~~     因此不需要任何额外的转换,String就可以使用StringOps中的方法。
~~~     每一种数据类型都有对应的Rich类型,如RichInt、RichChar等,为基本类型提供了更多的有用操作。
~~~     # StringOps。        
~~~     toInt等方法都定义在StringLike中;StringOps实现了StringLike "11".toInt

1.max(10)
1.min(10)
1.to(10)
1.until(10)
~~~     # 编译打印

scala> 1.max(10)
res0: Int = 10

scala> 1.min(10)
res1: Int = 1

scala> 1.to(10)
res2: scala.collection.immutable.Range.Inclusive = Range 1 to 10

scala> 1.until(10)
res3: scala.collection.immutable.Range = Range 1 until 10
### --- 整数字面量。整数字面量有两种形式,十进制与十六进制(0X/0x开头)
~~~     十六进制整数字面量

scala> val a = 0xa
a: Int = 10

scala>  val a = 0X00FF
a: Int = 255

scala> val magic = 0xcafe
magic: Int = 51966
~~~     # 十进制整数字面量

scala> val dec1 = 255
dec1: Int = 255
scala> val dec1 = 31
dec1: Int = 31
~~~     # Long类型整数字面量

scala> val magic = 0xcafeL
magic: Long = 51966

scala> val long1 = 255L
long1: Long = 255
~~~     # Short 或 Byte 类型,需要明确声明,否则编译器会推断为Int类型

scala> val little: Short = 32767
little: Short = 32767

scala> val littler: Byte = 127
littler: Byte = 127
### --- 浮点数字面量
~~~     # 十进制数、可选的小数点、可选的e开头的指数

scala> val big = 3.1415926
big: Double = 3.1415926

scala> val bigger = 3.1415926e1
bigger: Double = 31.415926
~~~     # 浮点数字面量以F/f结尾为Float类型;否则为Double类型;

scala> val litte = 0.31415926f
litte: Float = 0.31415927

scala> val litte = 0.31415926e1F
litte: Float = 3.1415925
### --- 字符字面量

scala> val a = 'A'
a: Char = A
~~~     # 用字符的Unicode码来表示。Unicode码前128个字符就是ASCII码

scala> val b = '\u0042'
b: Char = B
~~~     # 转义字符

scala> val mark = '\'
<console>:1: error: unclosed character literal (or use " not ' for string literal)
       val mark = '\'
                  ^
scala> val mark = '\\'
mark: Char = \
### --- 字符串字面量

scala> val str = "Hello Scala"
str: String = Hello Scala
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值