「Scala语言」(一)理论基础

本文仅仅只是个人学习的笔记,不代表一定就是对的,仅供参考。

1、计算机语言可以分为两大类:编译型,解释型。

(1)编译型的代表是C语言。

(2)解释型的代表为Python语言。

(3)java是一个“混血儿”,既是编译型,也是解释型。

java需要编译,编译成字节码之后可以解释执行,或者预编译成机械码直接执行。

很多时候期望代码在启动的时候慢一些,执行的时候快一些,就像idea与tomcat,启动的时候有些慢,但执行起来要快。

(4)C语言具有可移植性,书写一次代码,然后面对不同的平台使用不同的编译器编译执行。

java语言具有可移动性:一次编译,到处运行。java编译之后的字节码是和平台无关的,java的可移动性的特点(好处)与JVM有关。JVM才是核心。

(5)编译器。编译型的语言与解释型的语言根本区别在哪里?

是否是强类型。类型的本义就是宽度或者说是字节大小,比如在java中,int是4个字节,long是8个字节等等。C语言中有类型,java中也有类型,但是很多解释型语言都没有类型。

编译型的语言需要类型,因为最终要将代码中的逻辑编译成机械码,运行的时候需要使用内存开辟足够的空间,这样才能按照业务逻辑放置数据不溢出。

解释型的语言在运行的时候去解释,一般按照文本字符串去处理这些东西,解释型语言没有类型的概念,没有提前决定空间大小,所以这也是为什么解释型语言要比编译型语言慢。

2、Scala可以运行在JVM之上。JVM虽然是java的虚拟机,但是它和java没什么太大的联系,JVM并不是只能运行java语言,JVM和java并不是一对一的关系,JVM与字节码是一对一的关系。

3、从编程风格上,语言可以分为:面向过程的,面向对象的,函数式的。

面向过程的:C语言(其实C语言三种模式都可以支持,但一般认为C是面向过程的)

第一类值:基本类型+指针

面向对象的:java语言

第一类值:基本类型+对象类型

函数式的:scala语言

第一类值:基本类型+对象类型+函数(一个变量可以存函数(是能够存下整个函数,不是函数的返回值))

4、Scala是一个面向对象的函数式编程语言。

5、Scala的特点

(1)Scala可以与java无缝衔接,在scala代码中可以导入java的jar包。

(2)类型推断,scala可以推断出定义的变量的类型,并且推断不代表糊弄。scala一定是可以推断出一个确定的类型,并且这个变量的类型推断出来后就不能再改变。传参的时候需要开发者明文写出类型,函数的参数scala无法推断类型。无法推断类型的一定会报错。

(3)并发和分布式。

(4)特质。scala中有一个trait,它可以让scala多继承与多实现。

(5)模式匹配。

(6)高阶函数。

6、Scala使用

作为开发者使用Scala的时候,需要jdk以及scala的sdk(编译器)。

作为使用者运行Scala的时候,需要jdk以及jre。

参考文献:

[1] Scala官网:https://www.scala-lang.org/

[2] 马士兵教育:https://www.mashibing.com/subject/1

[3] CSDN博客:https://blog.csdn.net/qq_36383623/article/details/99288638

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
用户投稿
上一篇 2022年6月18日 09:06
下一篇 2022年6月18日 09:07

相关推荐

  • 存储过程语法(sql server存储过程语法)

    今天小编给各位分享存储过程语法的知识,其中也会对sql server存储过程语法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! oracle存储过程基本语法…

    2022年11月26日
  • 马斯克凌晨一点半晒“代码审查”现场,编排他的段子比疯狂星期四还多

    梦晨 Pine 发自 凹非寺 量子位 | 公众号 QbitAI 每一个真正会写代码的人,请在下午2点到总部10层报到。 每一个真正会写代码的人,请在下午2点到总部10层报到。 马斯…

    2022年11月21日
  • 京东店铺类型有哪些京东入驻有什么资质要求

    今天的互联网发展迅速,让传统企业有了更多选择,但也同样也对刚触网的商家增添了许多迷茫,近日知舟电商就收到很多商家朋友询问京东入驻相关问题,今天知舟君就给大家分享下。 一.京东入驻准…

    2022年11月18日
  • c语言大佬是什么意思网络用语(c语言系列大佬)

    网络用语在生活中使用也是非常多的,大家对这些新的词语含义也都十分好奇,c语言大佬是什么意思?近日在b站还有抖音等平台的评论区中也经常看到c语言大佬这个词,大家对此十分好奇,下面跟小…

    2022年11月17日
  • 淘宝商家违约怎么让他们赔偿(淘宝商家违约不发货应该赔偿多少)

    淘宝商家违约的情况网上也有不少人咨询,据悉部分淘宝用户在购物的时候遇到商家违约的情况,这时候用户是可以通过平台来申请相关的赔偿的。那么,淘宝商家违约怎么让他们赔偿?具体的操作流程是…

    2022年11月17日
  • 怎么删除自己的追评(淘宝追评可以删除吗)

    一、淘宝店铺每个评价类型的处理方案都是不同的,那具体哪些评价类型该如何区分呢? 1、主评为好评时:不支持修改或者删除评价的,若中评/差评改为好评,也不可修改或删除 ; 2、当主评为…

    2022年11月17日
  • 排名前十的小说(排名前十的小说完结)

    本文主要讲的是排名前十的小说,以及和排名前十的小说完结相关的知识,如果觉得本文对您有所帮助,不要忘了将本文分享给朋友。 小说排行榜2022前十名完结(十大必看网络小说排行榜每本都是…

    2022年11月14日
  • 网站客服代码(网站客服代码实现移动端隐藏,电脑端展开)

    本文主要讲的是网站客服代码,以及和网站客服代码实现移动端隐藏,电脑端展开相关的知识,如果觉得本文对您有所帮助,不要忘了将本文分享给朋友。 在线客服系统代码是什么? 在线客服系统代码…

    2022年11月12日
  • 8字头股票什么意思(8字头股票什么意思呀)

    北京证券交易所股票是以4和8开头1北京证券交易所是以现有的新三板精选层为基础组建,进一步提升服务中小企业的能力,打造服务创新型中小企业主阵地北京证券交易所是因为我们国家要支持中小企…

    2022年11月11日
  • 《魔兽世界》10.0钓鱼点分布大全 10.0最佳钓鱼地点推荐

    魔兽世界10.0钓鱼点分布位置在哪?很多玩家还不清楚有哪些地方钓鱼比较方便的,其实钓鱼方便的地方有很多,下面一起来看一下小编带来的魔兽世界10.0钓鱼点分布大全。希望可以帮助各位玩…

    2022年11月8日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息