「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)删除。
(0)
用户投稿
上一篇 2022年6月18日
下一篇 2022年6月18日

相关推荐

  • 如何解决mysql blob乱码问题?

    如何解决mysql blob乱码问题 mysql数据blob类型中文乱码 1.找到mysql安装目录下的my.ini文件 注释掉 sql-mode=”STRICT_TR…

    2022年8月30日
  • 鲜为人知!多鼻环、密密麻麻戴满耳环,印度爱美的部落民族女性

    这个鲜为人知的印度古老的部落民族女性,可以说是最爱美的女人了,她们从小就戴鼻环、项链及各种装饰品,尤其耳朵上戴着密密麻麻的耳环,生活上也延续着千年以来的传统方式。这是怎样的一个民族…

    2022年6月7日
  • 搭建低代码平台plus代码生成器的集成

    mybatis-plus提供了代码自动生成器;使用代码生成器可以根据数据库表结构生成我们需要的代码结构,节省了我们建各种类的时间。 以下是集成mybatis-plus代码生成器的具…

    2022年7月21日
  • 女人过了六十岁别总梳大背头,这三款发型端庄大气,时尚又显年轻

    很多女人上了年纪后,就把头发梳起来并露出额头,这种大背头的造型的确利落,但也是最容易显老又缺乏女人味的发型。最近有一位粉丝留言说,自己已经是六十多岁的人了,平时也不知道适合什么发型…

    2022年7月4日
  • plc的编程语言一般有 PLC编程语言你知道多少

    微电子技术的发展使得集成芯片产生了一定程度的“智能”,微处理器(CPU)能够按照我们开发者预先设定好的“程序”来运行,我们通过编写“程序”代码,达到与计算机(PC)去工作的目的。 …

    2022年6月28日
  • 输入法不见了怎么恢复(电脑输入法不见了解决方法)

    方法1:在系统设置中检索输入法 1.按“ Shift + Ctrl”或“ Ctrl + Space”快捷键,看是否可以切换输入法 2.如果没有,请打开控制面板进行设置。 3.打开控…

    2022年5月6日
  • 天道<八>

    恒星之所以能长期处于相对稳定状态的释放能量过程。是由于恒星在释放强大能量过程中,使其外层气体处于高温高压状态,而恒星又再不断的释放能量过程中,它释放的能量越巨大,星体外层的气压气温…

    2022年8月16日
  • 华为23届秋招提前批已启动,年薪20W等你来

    重磅消息: 华为23届秋招 提前批全面开启啦! 华为招聘信息(2012实验室为部门名称) 本次秋招华为面向23届应届生 开设了上百岗位! 仅展示部分岗位,全部岗位官网查看 而且华为…

    2022年6月23日
  • ASC科研探索:分布式传感器网络揭示有助于减少海冰的物理过程

    尽管其温度低于冰点,但北极的变暖速度是地球其他地区的两倍。随着北极海冰融化,可用于将阳光反射回太空的明亮表面越来越少。当冰盖上的裂缝打开时,下面的水就会暴露出来。黑暗的、不结冰的水…

    2022年8月16日
  • 前端层(CSS Layers)

    使用 CSS 最困难的部分之一是处理CSS的权重值,它可以决定到底哪条规则会最终被应用,尤其是如果你想在 Bootstrap 这样的框架中覆盖其已有样式,更加显得麻烦。不过随着 C…

    2022年6月23日

联系我们

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