intellij idea scala 怎么运行

intellij idea scala 怎么运行,第1张

使用Intellij IDEA写hello world

Intellij IDEA是jetbrain开发的一个IDE,用于Java、Groovy、Scala等的开发,相对于其他开发工具来说,其对于代码检视、上下文理解、cvs/ant/maven/git的支持都比较完善。

1)安装Intellij IDEA

下载Intellij IDEA

进入IntelliJ IDEA官网的下载页面,然后点击 右上角的 Download 按钮,下载完成后直接点击你下载下来的文件安装,大家最好安装默认的安装步骤来,每一步都直接点击下一步,直到安装完成。如果提示让你注册购买这个软件,请自行想办法,不知道如何就去度娘问问。

配置Intellij IDEA

安装完成后,打开Intellij IDEA,由于我已经运行过这个软件了,所以会跟你的有点差别,所以请无视左侧的黑色。首先点安装图上所示,选择 Configure 中的 Plugins ,

再次点击下面的 Browse repositories 按钮,

进入新页面后,在上方的搜索框中输入 Scala,选择Scala 这个插件,点击右侧边栏中的 Install Plugin 按钮,然后重启Intellij IDEA。

重启后,选择 Configure 中的 Setting 选项,进入Intellij IDEA的设置页面去修改IDE的Encoding,我们要将 IDE Encoding 和 Project Encoding 以及最下方 的 Default Encoding for properties files 的属性都修改为 UTF-8 ,注意 :如果不设置这里,程序将不能运行。然后点击右下方的 Apply 按钮和 OK 按钮,关闭设置页面。

然后选择 Create New Project 这个选项,进入如下的页面,继续选择 Scala 中的 Scala,然后点击 next ,进入工程配置页面,

请自行填写项目名称,选择项目存放的目录,以及添加之前安装的Java目录以及Scala目录,配置好这四个选项后,直接点击下面的Finish 按钮,完成项目的创建。

如果你按照我说的步骤正确配置的话,那么相信你的工程已经创建成功了( Java的JDK以及Scala的SDK都已经正确的显示出来 ),例如下图这样:

从上图我们可以看到现在还没有源文件,只有一个存放源文件的目录src以及存放工程其他信息的文件,接下来我们需要创建的是入口类,即Object。

将鼠标放在 目录src 上,点击右键依次选择 New ——》 Scala Class :

创建的是入口类,Name 填写“HelloWorld”,Kind 选择 Object,点击 OK,就将入口类创建成功了。

最后在新建的HelloWorld类中,输入如下代码:

object HelloWorld {

/* 这是我的第一个 Scala 程序

* 以下程序将输出'Hello World!'

*/

def main(args: Array[String]) {

println("Hello, world!") // 输出 Hello World

}

}

然后将鼠标放在目录HelloWorld文件上,点击右键,选择 Run “Hello World”:

如果最后运行结果如下,那么恭喜你,就说明你的第一个Scala程序就算是运行成功了。

Scala编程语言近来抓住了很多开发者的眼球 如果你粗略浏览Scala的网站 你会觉得Scala是一种纯粹的面向对象编程语言 而又无缝地结合了命令式和函数式的编程风格 Christopher Diggins认为

不太久之前编程语言还可以毫无疑义地归类成 命令式 或者 函数式 Scala代表了一个新的语言品种 它抹平了这些人为划分的界限

根据David Rupp在博客中的说法 Scala可能是下下一代Java 这么高的评价让人不禁想看看它到底是什么东西

Scala有几项关键特性表明了它的面向对象的本质 例如 Scala中的每个值都是一个对象 包括基本数据类型(即布尔值 数字等)在内 连函数也是对象 另外 类可以被子类化 而且Scala还提供了基于mixin的组合(mixin based position)

与只支持单继承的语言相比 Scala具有更广泛意义上的类重用 Scala允许定义新类的时候重用 一个类中新增的成员定义(即相较于其父类的差异之处) Scala称之为mixin类组合

Scala还包含了若干函数式语言的关键概念 包括高阶函数(Higher Order Function) 局部套用(Currying) 嵌套函数(Nested Function) 序列解读(Sequence Comprehensions)等等

Scala是静态类型的 这就允许它提供泛型类 内部类 甚至多态方法(Polymorphic Method) 另外值得一提的是 Scala被特意设计成能够与Java和 NET互 *** 作 Scala当前版本还不能在 NET上运行(虽然上一版可以) 但按照计划将来可以在 NET上运行

Scala可以与Java互 *** 作 它用scalac这个编译器把源文件编译成Java的class文件(即在JVM上运行的字节码) 你可以从Scala中调用所有的Java类库 也同样可以从Java应用程序中调用Scala的代码 用David Rupp的话来说

它也可以访问现存的数之不尽的Java类库 这让(潜在地)迁移到Scala更加容易

这让Scala得以使用为Java 或者 编写的巨量的Java类库和框架 Scala会经常性地针对这几个版本的Java进行测试 Scala可能也可以在更早版本的Java上运行 但没有经过正式的测试 Scala以BSD许可发布 并且数年前就已经被认为相当稳定了

说了这么多 我们还没有回答一个问题 为什么我要使用Scala? Scala的设计始终贯穿着一个理念

创造一种更好地支持组件的语言 (《The Scala Programming Language》 Donna Malayeri)

也就是说软件应该由可重用的部件构造而成 Scala旨在提供一种编程语言 能够统一和一般化分别来自面向对象和函数式两种不同风格的关键概念

藉著这个目标与设计 Scala得以提供一些出众的特性 包括

* 面向对象风格

* 函数式风格

* 更高层的并发模型

Scala把Erlang风格的基于actor的并发带进了JVM 开发者现在可以利用Scala的actor模型在JVM上设计具伸缩性的并发应用程序 它会自动获得多核心处理器带来的优势 而不必依照复杂的Java线程模型来编写程序

* 轻量级的函数语法

o 高阶

o 嵌套

o 局部套用(Currying)

o 匿名

* 与XML集成

o 可在Scala程序中直接书写XML

o 可将XML转换成Scala类

* 与Java无缝地互 *** 作

Scala的风格和特性已经吸引了大量的开发者 比如Debasish Ghosh就觉得

我已经把玩了Scala好一阵子 可以说我绝对享受这个语言的创新之处

lishixinzhi/Article/program/Java/hx/201311/26873

Scala编程语言近来抓住了很多开发者的眼球。如果你粗略浏览Scala的网站,你会觉得Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。Christopher Diggins认为:

不太久之前编程语言还可以毫无疑义地归类成“命令式”或者“函数式”。Scala代表了一个新的语言品种,它抹平了这些人为划分的界限。

根据David Rupp在博客中的说法,Scala可能是下下一代Java.这么高的评价让人不禁想看看它到底是什么东西。

Scala有几项关键特性表明了它的面向对象的本质。例如,Scala中的每个值都是一个对象,包括基本数据类型(即布尔值、数字等)在内,连函数也是对象。另外,类可以被子类化,而且Scala还提供了基于mixin的组合(mixin-based composition)。

与只支持单继承的语言相比,Scala具有更广泛意义上的类重用。Scala允许定义新类的时候重用“一个类中新增的成员定义(即相较于其父类的差异之处)”。Scala称之为mixin类组合。

Scala还包含了若干函数式语言的关键概念,包括高阶函数(Higher-Order Function)、局部套用(Currying)、嵌套函数(Nested Function)、序列解读(Sequence Comprehensions)等等。

Scala是静态类型的,这就允许它提供泛型类、内部类、甚至多态方法(Polymorphic Method)。另外值得一提的是,Scala被特意设计成能够与Java和.NET互 *** 作。Scala当前版本还不能在.NET上运行(虽然上一版可以),但按照计划将来可以在.NET上运行。

Scala可以与Java互 *** 作。它用scalac这个编译器把源文件编译成Java的class文件(即在JVM上运行的字节码)。你可以从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的代码。用David Rupp的话来说,

它也可以访问现存的数之不尽的Java类库,这让(潜在地)迁移到Scala更加容易。

这让Scala得以使用为Java1.4、5.0或者6.0编写的巨量的Java类库和框架,Scala会经常性地针对这几个版本的Java进行测试。Scala可能也可以在更早版本的Java上运行,但没有经过正式的测试。Scala以BSD许可发布,并且数年前就已经被认为相当稳定了。

说了这么多,我们还没有回答一个问题:“为什么我要使用Scala?”Scala的设计始终贯穿着一个理念:

创造一种更好地支持组件的语言。(《The Scala Programming Language》,Donna Malayeri)

也就是说软件应该由可重用的部件构造而成。Scala旨在提供一种编程语言,能够统一和一般化分别来自面向对象和函数式两种不同风格的关键概念。

藉着这个目标与设计,Scala得以提供一些出众的特性,包括:

* 面向对象风格

* 函数式风格

* 更高层的并发模型

Scala把Erlang风格的基于actor的并发带进了JVM.开发者现在可以利用Scala的actor模型在JVM上设计具伸缩性的并发应用程序,它会自动获得多核心处理器带来的优势,而不必依照复杂的Java线程模型来编写程序。

* 轻量级的函数语法

高阶

嵌套

局部套用(Currying)

匿名

* 与XML集成

可在Scala程序中直接书写XML

可将XML转换成Scala类

* 与Java无缝地互 *** 作

Scala的风格和特性已经吸引了大量的开发者,比如Debasish Ghosh就觉得:

我已经把玩了Scala好一阵子,可以说我绝对享受这个语言的创新之处。

总而言之,Scala是一种函数式面向对象语言,它融汇了许多前所未有的特性,而同时又运行于JVM之上。随着开发者对Scala的兴趣日增,以及越来越多的工具支持,无疑Scala语言将成为你手上一件必不可少的工具。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7903283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存