Scala学习总结(1)——基础知识

Scala 学习总结

Scala运行于Java平台(JVM)上,兼容现有的Java程序,Scala代码可以调用Java方法,访问Java字段,继承Java类和实现Java接口。但是Scala也拥有像 Java 类似的特性,它集合了面向对象编程思想与函数式编程思想。

scala具有如下几个特点:

  • 一切变量皆为对象:scala是一门纯粹的面向对象的语言,没有Java中的原生类型。

  • 语法简洁

  • 具有强大的并发性:能够更好地支持分布式系统


由于scala与java有很多的相似特性,故我在学习的过程中会经常对比它们,本文参考了《Spark编程基础(Scala版)》这本书以及厦门大学数据库实验室网站的博客,对scala的学习作了一个总结笔记,适用于有编程基础的小伙伴们,若有不清楚的知识点可以访问厦大数据库实验室网站,里面有许多教程。

Scala的安装

参考 http://dblab.xmu.edu.cn/blog/929-2/

我安装的是scala 2.13.3的版本。

1 基础知识

基本数据类型

Scala的基本数据类型包括:Byte、Char、Short、Int、Long、Float、Double和Boolean,虽然是基本数据类型,但是由于scala中每个值都是对象,所以这些数据类型都是一个类。在Scala中,除了String是使用了java.lang.String,其余的基本类型都是scala中的,比如 Int 的全名是 scala.Int。

基本数据类型 描述
Byte 8位有符号补码整数。数值区间为 [-27, 27-1]
Short 16位有符号补码整数。数值区间为 [-215, 215-1]
Int 32位有符号补码整数。数值区间为 [-231, 231-1]
Long 64位有符号补码整数。数值区间为 [-263, 263-1]
Float 32 位, IEEE 754 标准的单精度浮点数
Double 64 位, IEEE 754 标准的双精度浮点数
Char 16位无符号Unicode字符, 数值区间为 [0, 216-1]
String 字符序列
Boolean true, false

字面量

字面量分为整数字面量、浮点数字面量、布尔型字面量、字符及字符串字面量和Unit字面量。

val i = 1  //1就是整数字面量
val i = 9.9 //9.9就是浮点数字面量
val i = true //true就是布尔型字面量
val i = 'A' //'A'就是字符字面量
val i = "Hello World!" //"Hello World!"就是字符串字面量

Unit字面量只有一个唯一的值,表示为()。

操作符

Scala的操作符与Java的基本一致,但Scala的操作符实际上是方法,也就是说操作符只是方法的另一种形式。

比如:5 + 4 等价于 5.+(4) ,实际上 “+” 是Int类里的一个方法。

对于基本类型的操作,scala还提供了许多常用的方法,这些方法被封装在每个类对应的富包装类中,上文提到的九个基本类型都有其对应的富包装类,比如,Int类型对应的富包装类为RichInt类。

富包装类位于包scala.runtime中,当一个对象调用了富包装类中的方法,scala会自动通过隐式转换将该对象转换为富包装类对象。

变量

scala只有两种类型的变量,用val和var来声明。它们之间的区别在于:

val 声明的变量不可变,val声明时必须初始化变量,且初始化后不再赋新值;

var声明的变量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值