「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

相关推荐

联系我们

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