Scala语言基础详解,并在IDEA中安装Scala插件

Scala起源

Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。

Scala语言的特点:

Scala是面向对象的:Scala是一个纯面向对象语言,在某种意义上来讲所有数值都是对象。对象的类型和行为是由class和trait来描述的。Class的抽象可由子类化和一种灵活的基于mixin的组合机制(它可作为多重继承的简单替代方案)来扩展。

Scala是函数式的: Scala还是一个函数式语言,在某种意义上来讲所有函数都是数值。Scala为定义匿名函数提供了一种轻量级的语法,它支持高阶(higher- order)函数、允许函数嵌套、支持柯里化(currying)。Scala的case类及其内置支持的模式匹配模型代数类型在许多函数式编程语言中 都被使用。

Scala是静态类型的:Scala配备了一套富有表现力的类型系统,该抽象概念以一种安全的和一致的方式被使用。

Scala是可扩展的:Scala的设计承认了实践事实,领域特定应用开发通常需要领域特定语言扩展。Scala提供了一个独特的语言组合机制,这可以更加容易地以类库的形式增加新的语言结构:

. 任何方式可以被用作中缀(infix)或后缀(postfix)操作符
. 闭包按照所期望的类型(目标类型)自动地被构造

两者结合使用可方便地定义新语句,无需扩展语法,也无需使用类似宏的元编程工具。

Scala可与Java和.NET进行互操作:Scala 设计时就考虑了与流行编程环境良好交互,如Java 2运行时环境(JRE)和 .NET框架(CLR)。特别是与主流面向对象语言,如Java和C#尽量无缝交互。Scala有像Java和C#一样的编译模型(独立编译,动态装载 类),允许访问成千上万的高质量类库。

使用Scala开发的框架
1.Spark是使用Scala编程语言开发的。开发Spark程序可以使用Java、Python和Scala,但是Scala是最优雅的方式。

2.Kafka也是使用Scala编写的。

3.基于JVM的语言更融入Hadoop生态圈

扫描二维码关注公众号,回复: 11469482 查看本文章

Scala的优势
■多范式编程:面向对象编程、函数式编程
■表达能力强,代码精简

面向对象特性
■每个值都是对象
■对象的数据类型和行为由类(Class) 和特征(Trait, 类似于interface )描述
■利用特征实现混入式多重继承

Scala与Java有着相同的原始数据类型

Scala数据类型层次结构

静态类型
Scala具备类型系统,通过编译时检查,保证代码的安全性和一致性。类型系统具体支持以下特性:

泛型类
协变和逆变
标注
类型参数的上下限约束
把类别和抽象类型作为对象成员
复合类型
引用自己时显式指定类型
视图
多态方法

Scala环境安装

1.scala官网下载安装包安装 https://www.scala-lang.org/download/
2.配置scala的环境变量SCALA_HOME
3.下载Scala的路径最好和java的jdk同一路径下,当然必须要有jdk
4.安装好以后到系统cmd窗口输入命令scala,当出现scala时,说明scala安装成功了,如下图所示:

IDEA中安装Scala插件

1.找到安装Scala插件的官网
https://plugins.jetbrains.com/plugin/1347-scala/versions
选择Versions,然后找和你IDEA版本一样的scala插件。
注意
版本一定要一致连月份也要一样,如果没有匹配的月份,就用下个月份的,然后点击最右边的向下箭头,就可以下载了,下载好后记住存放位置。

2.退出到IDEA界面右下角选择plugins,找到右上角的齿轮标志或者(Install plugin from disk),

IDEA版本不一样,新的版本会在右上角出现一个齿轮标志,如上图所示,我的出现在右下角的Install plugin from disk,点击就好了。
找到你下载的版本插件选择好点击OK后,点击右上角Restart Intellij IDEA,如下图所示

等待自己重启,这时插件就已经安装好了!

创建Scala Maven工程

1.创建一个普通的maven工程File->Project->Maven(注意:maven工程是Java工程)选择的时候,不仅有maven,还会有scala供你选择,说明插件安装成功了

2.引入scala-library依赖,注意版本要和自己安装的scala版本保持一致

3.在src/main/下重新建一个directory命名scala和java同级,也就是src/main/scala,
右键单击scala选择 Mark Directory as ,点击 Sources Root,如下图所示
4.导入scala的各种包,选择右上角的文件图标,点击后选择Libraries,旁边右上角有个"+"单击后选择Scala SDK 找到你的scala版本,接下来就直接点击确定,这时scala的各种包就导好了!或者在pom.xml引入Scala的依赖包,一样可以!

5.然后右键单击scala的文件夹,选择New找到Scala Class 就可以创建一个scala 类了,创建类名后,把Class换成Object就可以愉快的操作Scala了,下图所示

pom.xml配置
在dependencies中引入依赖包

      <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.11.8</version>
      </dependency>

语法规范

Scala 基本语法需要注意以下几点:
区分大小写 - Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义

类名 - 对于所有的类名的第一个字母要大写。
如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写。

方法名称 - 所有的方法名称的第一个字母用小写。
如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写。
例如:def myMethodName()

def main(args: Array[String]) - Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分。

Scala 注释
Scala 类似 Java 支持单行和多行注释。多行注释可以嵌套,但必须正确嵌套,一个注释开始符号对应一个结束符号。注释在 Scala 编译中会被忽略。

空行和空格
一行中只有空格或者带有注释,Scala 会认为其是空行,会忽略它。标记可以被空格或者注释来分割。

换行符
Scala是面向行的语言,语句可以用分号(;)结束或换行符。Scala 程序里,语句末尾的分号通常是可选的。如果你愿意可以输入一个,但若一行里仅
有一个语句也可不写。另一方面,如果一行里写多个语句那么分号是需要的。

Scala 转义字符

Scala 变量

在 Scala 中,使用关键词 “var” 声明变量,使用关键词 “val” 声明常量。
示例声明变量: var myVar : String = “Foo”
声明常量: val myVal : String = “Too”
注意
以上定义了常量 myVal,它是不能修改的。如果程序尝试修改常量 myVal 的值,程序将会在编译时报错。

变量类型声明

变量的类型在变量名之后等号之前声明。
语法格式如下:
var VariableName : DataType [= Initial Value]

val VariableName : DataType [= Initial Value]

变量类型引用

在 Scala 中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。
所以,如果在没有指明数据类型的情况下声明变量或常量必须要给出其初始值,否则将会报错。
示例:
var myVar = 10;
val myVal = “Hello, Scala!”;

Scala 多个变量声明

示例:xmax, ymax都声明为100
val xmax, ymax = 100;

后续会有更多关于Scala的 详细使用方法,记得关注小编!

猜你喜欢

转载自blog.csdn.net/zp17834994071/article/details/107207180