|NO.Z.00005|——————————|BigDataEnd|——|Hadoop&Scala.V05|——|Scala.v05|Scala编程|常用类型|字面值|

一、常用类型与字面量
数据类型 描述
Byte 8位有符号补码整数。数值区间为 -128 到 127
Short 16位有符号补码整数。数值区间为 -32768 到 32767
Int 32位有符号补码整数。数值区间为 -2147483648 到 2147483647
Long 64位有符号补码整数。数值区间为 -9223372036854775808 到
9223372036854775807
Float 32 位, IEEE 754标准的单精度浮点数
Double 64 位 IEEE 754标准的双精度浮点数
Char 16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF
String 字符序列
Boolean true或false
Unit 表示无值,相当于Java中的void,用于不返回任何结果的方法的返回类型。Unit写成()
Null 通常写成null
Nothing Nothing类型在Scala类层级的最低端,它是任何其他类型的子类型
Any Any是Scala中所有类的超类
AnyRef AnyRef是Scala中所有引用类的超类
### --- 常用类型与字面量说明

~~~     Scala和Java一样,有8种数值类型 ByteShort、Int、Long、Float、DoubleCharBoolean 类型
~~~     和 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
~~~     # ShortByte 类型,需要明确声明,否则编译器会推断为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

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on   yanqi_vip  阅读(83)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示