Scala---多范式的编程语言

一、Scala简介

1.Scala是一门多范式的编程语言,即可伸缩的语言
可伸缩的语言的英语翻译是:Scalable Language,简称为Scala。它是一门多范式的编程语言,一种类似java的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
2. Scala源代码会被编译成java字节码,然后运行在JVM上,并且可以调用现有的Java类库,能够实现两种语言的无缝连接。

二、Scala特性

1.面向对象特征
Scala是一种纯面向对象的语言,每个值都是对象。对象的类型以及行为由类和特质描述。
类抽象机制的扩展有两种途径:一种是子类继承,另一种是灵活的混入机制。这两种机制能够避免多重继承的种种问题。
2.函数式编程
Scala也是一种函数式语言,其函数也能当成值来使用。Scala提供了轻量级的语法用来定义匿名函数,支持高阶函数,允许嵌套多层函数,支持柯里化。Scala的case class及其内置的模式匹配相当于函数式编程语言中常用的代数类型。
3.静态类型
Scala具备类型系统,通过编译时检查,保证代码的安全性和一致性。类型系统具体支持以下特征:
(1)泛型类
(2)协变和逆变
(3)标注
(4)类型参数的上下限约束
(5)把类别和抽象类型作为对象成员
(6)复合类型
(7)引用自己时显示指定类型
(8)视图
(9)多态方法
4.扩展性
Scala的设计秉承一项事实,即在实践中,某个领域特定的应用程序开发往往需要特定于该领域的语言发展。Scala提供了许多独特的语言机制,可以以库的形式轻易无缝添加新的语言结构:
(1)任何方法可用作前缀和后缀操作符
(2)可以根据预期类型自动构造闭包
5.并发性
Scala使用Actor作为其并发模型,Actor是类似线程的实体,通过邮箱发收消息。Actor可以复用线程,因此可以在程序中可以使用数百万个Actor,而线程只能创建数千个。在2.10之后的版本,使用Akka作为其默认Actor实现。

三、Scala的优点

1.Scala具备强大的并发性,支持函数式编程,可以更好地支持分布式系统。
2.Scala语法简洁,能提供优雅的API。
3.Scala兼容java,运行速度快,且能融合到Hadoop生态圈中。

四、Scala基本语法

1.区分大小写
Scala是大小写敏感的,大写和小写在Scala中会有不同的含义。
2.类名
使用大驼峰命名法,对于所有的类名的第一个字母要大写。
3.方法名称
使用小驼峰命名法,第一个字母用小写。
4.程序文件名
程序文件名应与对象名称完全匹配(新版本不需要了,但建议保留习惯)
5.def main(args:Array[String])
Scala程序从main()方法开始处理,这是Scala程序的强制程序入口部分。

五、Scala数据类型

数据类型 描述
Byte 8位有符号补码整数。区间值:【-128,127】
Short 16位有符号补码整数。区间值:【-32768,32767】
Int 32位有符号补码整数。区间值:【-2147483648 , 2147483647】
Long 64位有符号补码整数。区间值:【-9223372036854775808 , 9223372036854775807】
Float 32位,IEEE 754 标准的单精度浮点数
Double 64位,IEEE 754 标准的双精度浮点数
Char 16位无符号Unicode值,区间值:【U+0000 到 U+FFFF】
String 字符序列
Boolean true 或 false
Unit 表示无值,和其他语言中void等同。用作不返回任何结果的结果类型。Unit只有一个实例值:()
Null null或空引用
Nothing Nothing类型在Scala的类层级的最底端;它是任何其他类型的子类型
Any Any是多有其他类的超类
AnyRef AnyRef类是Scala里所有引用类(reference class)的基类
AnyVal AnyVal是所有值类型的基类,它描述的是值,而不是代表一个对象。
发布了13 篇原创文章 · 获赞 14 · 访问量 655

猜你喜欢

转载自blog.csdn.net/LCY_1013/article/details/104762807