Scala解释器和常用数据类型

目录

Scala解释器和常用数据类型

Scala解释器

声明值和变量

常用数据类型

算术和操作符重载


Scala解释器和常用数据类型

Scala解释器

启动Scala解释器步骤如下:

  • 安装Scala

  • 环境变量已配置好

  • 打开命令行,键入scala,回车

键入命令,每一次回车后,解释器都会将结果打印出来。

解释器会同时显示结果的类型,并且自动将结果存储,即图中res0,res1。值得一提的是,在scala解释器中,与linux命令一样,可以使用tab键来补全方法名。 

Scala解释器读到一个表达式,对他进行求值,将他打印出来接着进行下一个表达式。这个过程被称为读取-求值-打印-循环,即REPL

注:从技术上讲,Scala程序并不是一个解释器。实际上,你输入的内容被快速的编译成字节码,然后交由JAVA虚拟机执行。正因为如此,大多数程序员更倾向于称呼它为“REPL”。

声明值和变量

除了使用系统自动定义的名称之外,也可以自定义名称,在后续你也可以继续使用它:

当然也可以使用var关键字,var与val的区别在于,var定义的是变量,即在定义后仍然可以改变内容,val定义的是常量,即内容不可改变。另外值得注意的是,Scala语言对大小写敏感。

在初始化变量时,可以不用指定数据类型,但如果必要,也可以进行定义,在scala中,变量或函数类型都是定义在名字后面的,之间用“:”隔开。在变量定义或赋值过程中,在同一行代码中存在多条语句时才会使用到“;”。

常用数据类型

注意:在Scala中,任何数据都是对象。比如在scala中,对于Int类型数据1,可以使用它的toString方法将它转换成String类型。

接下来学习Scala中常用的数据类型:

数据类型描述
Byte8位有符号补码整数。数值区间为 -128 到 127
Short16位有符号补码整数。数值区间为 -32768 到 32767
Int32位有符号补码整数。数值区间为 -2147483648 到 2147483647
Long64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807
Float32 位, IEEE 754 标准的单精度浮点数
BigInt任意大小,但有穷的数据
Double64 位 IEEE 754 标准的双精度浮点数
BigDecimal任意大小,但有穷的数据
Char16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF
String字符序列
Booleantrue或false
Unit表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。
Nullnull 或空引用
NothingNothing类型在Scala的类层级的最底端;它是任何其他类型的子类型。类似于exception
AnyAny是所有其他类的超类
AnyRefAnyRef类是Scala里所有引用类(reference class)的基类

 

简单练习:

(1)对字符串进行插值操作,需要再语句前加上s代表执行:

(2)Nothing类型:一般表示在执行过程中,产生了Exception:

(3)Unit类型:相当于Java中的void类型

算术和操作符重载

Scala中的算术符与JAVA、C中的功能是一样的,比如:+-*/,& | >><<等。需要注意的是,在Scala中,上述操作符,其实是方法。

例如a+b,其实是如下方法调用的简写:

a.+(b)

这里的“+”其实是一个方法,在Scala中,可以使用几乎任何符号来为方法命名。通常来说,可以使用a 方法 b,来作为a.方法(b)的简写

需要注意的是,Scala中没有提供++操作和--操作,我们需要使用+=1,-=1来替代。

参考文献:

[1]https://www.runoob.com/scala/scala-data-types.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值