Scala学习笔记(五)

基本类型和操作

1.基本类型

数值型

范围

Short

16 位有符号补码整数(-215~215-1 

Int

32 位有符号补码整数(-231~231-1

Long

64 位有符号补码整数(-263~263-1

Char

16 位无符号Unicode字符(0~216-1

String

字符序列

Float

32 IEEE754 单精度浮点数

Double

64 IEEE754 单精度浮点数

Boolean

true false 

Byte

8 位有符号补码整数(-27~27-1)


除了String归于java.lang包之外,其余所有的基本类型都是包scala的成员。1如,Int的全名是scala.Int 。

PS:为了纪念这个社区推动的选择,将来 Scala 的版本可能不 ,再支持乃至移除小写变体,因此跟随社区的大流,在你的 Scala 代码中使用 Int 而非 int 才是明智之举。 

2.文本

所有在表 5.1 里列出的基本类型都可以写成文本:literal。文本是直接在代码里写常量值的一种方式。 

1)整数文本

类型 Int,Long,Short Byte 的整数文本有三种格式:十进制,十六进制和八进制。 整数文本的开头方式说明了数字的基。如果数开始于 0x 0X,那它是十六进制(基于 16),并且可能包含从 0 9,及大写或小写的从 A F 的数字。举例如下: 

scala> val hex = 0x5
hex: Int = 5
scala> val hex2 = 0x00FF
hex2: Int = 255
scala> val magic = 0xcafebabe
magic: Int = -889275714

请注意,不论你用什么形式的整数文本初始化,Scala shell 始终打印输出基于 10 的整数值。因此解释器会把你用文本 0x00FF 初始化的 hex2 变量的值显示为十进制的 255

2)浮点数文本

浮点数文本是由十进制数字,可选的小数点和可选的 E e 及指数部分组成的。下面是一些浮点数文本的例子: 

scala> val bigger = 1.2345e1
bigger: Double = 12.345
scala> val biggerStill = 123E45
biggerStill: Double = 1.23E47
3)符号文本

符号文本被写成'<标识符>,这里<标识符>可以是任何字母或数字的标识符。这种文本被映射成预定义类 scala.Symbol 的实例。文本'cymbal 将被编译器扩展为工厂方法调用:Symbol("cymbal")

scala> val s = 'aSymbol
s: Symbol = 'aSymbol
scala> s.name
res20: String = aSymbol

布尔类型有两个文本,true false:

scala> val bool = true
bool: Boolean = true
scala> val fool = false
fool: Boolean = false

4)数学运算

你可以通过中缀操作符,加号(+),减号(-),乘号(*),除号(/)和余数(%),在任何数类型上调用数学方法。 

 5)关系和逻辑操作

你可以用关系方法:大于(>),小于(<),大于等于(>=)和小于等于(<=)比较数类型,像等号操作符那样,产生一个 Boolean 结果。另外,你可以使用一元操作符!(unary_!方法)改变 Boolean 值。 

逻辑方法,逻辑与(&&)和逻辑或(||),以中缀方式带 Boolean 操作数并产生 Boolean结果。 

6)位操作符

Scala让你能够使用若干位方法对整数类型的单个位执行操作。有:按位与运算(&),按位或运算(|)和按位异或运算(^)。5一元按位取补操作符(~,方法unary_~),反转它的操作数的每一位。 按位与运算(&),按位或运算(|)和按位异或运算(^)。5一元按位取补操作符(~,方法unary_~),反转它的操作数的每一位。 

Scala让你能够使用若干位方法对整数类型的单个位执行操作。有:按位与运算(&),按位或运算(|)和按位异或运算(^)。5一元按位取补操作符(~,方法unary_~),反转它的操作数的每一位 。

7)对象相等性

如果你想比较一下看看两个对象是否相等,可以使用或者==,或它的反义!=。 


8)操作符的优先级和关联性

操作符的优先级决定了表达式的哪个部分先于其他部分被评估。 


9)富包装器

你可以在 Scala 基本类型上调用的方法远多于前几段里面讲到过的。表格 5.4 里罗列了几个例子。这些方法的使用要通过隐式转换:implicit conversion,一种将在第二十一章描述其细节的技术。 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值