从0到1系列—Scala学习从0到1分享

Boys,Grils,Friends! My name is Jinsuo.Shi. 一个不正经的大数据开发工程师,目前从事在公司主要进行CDP平台的数据接入、数据的ETL、数据的融合与事件的展开工作。
个人大数据技术栈:DataX,Sqoop,Hadoop,Hive,Spark,Flink,Hbase,Kafka,Kettle,Azkaban,Airflow,Tableau…
个人在学习领域:Python,Pandas数据分析,PowerBI数据可视化,机器学习,算法等…
个人兴趣爱好:广泛阅读,旅游远行,运动健身,王者农药…

【今日重点:个人知识储备的基础语言篇的Scala从0到1】

开场白

首先说一下为啥会接触到Scala,学习Spark大数据计算框架时的底层编程语言,其次写起来非常的简洁,没有每行结尾的;号就很nice;还可以在Scala代码里写Java的代码。和Java语言一样也是运行在JAVM上,有很好的移植性,废话不多说了,开搞!

1. 编程工具安装

在这里插入图片描述

在Java学习中装了idea的,就可以不用装了,scala SDK 和JDK一样都是软件开发包,只不过JDK里内置了JVM.

2. 基础语法

在这里插入图片描述

同样的,在学习一门语言时,有一个对照的语言学习起来那将非常的迅猛,这里着重讲解一下Scala和Java的差异点或者说优点吧!

3. Scala与Java比较

1. 数据类型

scala不区分基本数据类型和引用数据类型,统统都是引用数据类型,并且有强大的类型推断功能,只需要使用val,var 来声明变量,就可以直接从值推断出数据的类型

2. 运算符

注意Scala不能像Java那样写++,–,没有这种语法格式

3. 流程控制

在这里插入图片描述

表面看没啥区别,有意思的是Scala的if表达式有返回值,举个列子

val x=10
val res=if(x>0){ x}else {0}
print(res) #10

4. 数据结构

在这里插入图片描述

常用的数据结构和Java差不多,声明有所不同,但是一些操作的方法大同小异,遍历非常容易,直接使用 foreach(),贼好用

5. 字符串

不多说了,字符串的处理在哪种语言里都是重点并且时常打交道的点,常用方法和Java基本一样,方法名都是那种见名知意的。

6. 函数

在这里插入图片描述

函数,函数是Scala语言的头等公民,非常重要,函数也是对象,函数可做参数传递,函数和方法声明方式不同,闭包和柯里化的概念了解即可,面试有可能会被提及。

7. 面向对象

在这里插入图片描述

scala里继承和实现,都是用的extends关键字,多个使用with连接,特质和Java中的接口interfence很像,但是功能更多,我觉得不如Java的接口用起来舒服、标准!

8. 特性

在这里插入图片描述

说起Scala,必须要提到模式匹配,Java里的原型就是match-case的选择表达。功能非常强大,写起来页非常简洁。
还有一个必须说的是样例类,自定义使用的类型,写起来非常方便!

4.下期更精彩

本期的scala学习分享就到此了,是不是觉得很少,到后面学习spark时还会使用Scala,不急,一步一步来,Java,Python,Scala三种后端编程语言系列就告一段落了,下期默认将分享SQL的学习,如果有不同想法,可以在评论区留言,分享前端语言或者大火的C语言基础都可以,订阅关注不迷路,咱们下期见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道-闇影

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值