03-基础类型和操作-Scala
前言
本节介绍Scala的基础类型和相关操作,与Java很相似,但又有与Java的不同之处。
环境:
Windowos + Scala-2.12.8
1. 一些基础类型
与Java的基础类型、取值区间完全相同。
Byte、Short、Int、Long和Char称为整数类型。整数类型加上Float和Double称为数值类型。
2. 字面量
字面量是在代码中直接写入常量值的一种方式。
- 整数字面量
0x表示十六进制。
- 浮点数字面量
Double
Float
- 字符字面量
转义:
- 字符串字面量
- 符号字面量
- 布尔字面量
3. 字符串插值
字符串插值器包括:s、raw 和 f。
$name 表示name变量的值,没有变量可以加{ },如:
raw 和 f:
4. 操作符即方法
在前面的博客中,也提到过1 + 2,实际处理过程是:1.+(2)。+其实是scala.Int 的一个方法,如查看源代码:
- 包含了多个重载,如:
- 符号是一个操作符(更确切的说是中缀操作符)。
以String 类为例:
从上面这个实例可以总结出,s.indexOf(‘o’) 时,indexOf 并不是操作符。s indexOf 'o’时,indexOf 就是操作符了,称为操作符表示法。
除了中缀表示法,还有前缀、后缀表示法,如:
前缀表示法(只有四个: +、-、!、~):
前缀标识符,实际上是调用 "unary_符号"来表示方法,如:
后缀表示法:
5. 算术操作
下面列出常用的操作:
6. 关系和逻辑操作
常用逻辑操作:
与、或、非:
下面是短路与、或、非,短路即只要前半部分能够确定结果值,就不会计算后半部分。
短路与不短路的区别:
7. 位运算
8.对象相等性
9. 操作符优先级
如:
为了简单思考优先级问题,推荐使用括号,如:
10. 富包装类
如:
更多查看: