Scala "Hello,world!" 程序

"Hello, world!" 程序

首先咱们使用标准的 “Hello, world!” 程序来演示一下 Scala 的简单使用java

object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("Hello, world!")
  }
}

这个程序的结构对于 Java 程序员来讲应该比较熟悉: 程序由 main 方法组成, 它使用命令行参数即一个字符串数组做为参数; main 方法体由一个对预约义函数 println 的简单调用组成, println函数使用 “Hello, world!” 做为参数, 最终结果会将 “Hello, world!” 打印输出到标准输出。main 方法没有返回值 (它是一个过程函数). 所以没有必要声明一个返回值类型。程序员

而对于 Java 程序员来讲不那么熟悉的是 object 声明包含了 main 方法。 这样一种声明介绍一般被称为一个单例对象, 即一个只有单个实例的类。所以*** object 声明既声明了一个叫作 HelloWorld 的类, 又声明了这个类的一个实例, 它也叫作 HelloWorld***。这个实例在第一次使用的时候建立。shell

细心的读者可能会注意到 main 方法没有声明为 static。这是由于 Scala 中不存在静态的成员(方法或字段)。Scala 程序员在单例对象中声明这些成员, 而不是定义静态成员。数组

交互式地运行 "Hello, world!" 程序

在命令行中输入 scala 命令并按下回车键, 便可启动 Scala 解释器, 从而能够交互式地解释 Scala 表达式。bash

scala shell

上面实际发生了两件事情: 一、HelloWorld 程序被编译成了字节码; 二、字节码由 Java 虚拟机执行。函数

快捷键 :q 是内部 shell 命令 :quit 的简写, 它用来退出解释器。ui

编译和运行 "Hello, world!" 程序

####一、编译 scalac 命令能够编译一个或多个 Scala 源文件并生成能够在任何标准的 JVM 上执行的 Java 字节码。Scala 编译器工做方式和 Java SDK 的编译器 javac 相似。spa

将上述 "Hello, world!" 程序保存到文件 HelloWorld.scala 中, 而后使用下面的命令编译它:插件

scalac HelloWorld.scala

scalac 编译生成的字节码文件默认放置在当前工做目录下。你可使用 -d 选项来指定不一样的输出目录。命令行

scalac -d /Users/jackiehff HelloWorld.scala

编译后生成的文件有两个:

HelloWorld$.class
HelloWorld.class

至于为何会生成有两个文件,后面再写文章详述, 这里再也不深究。

####二、运行 可使用带有合适选项的 scala 命令执行生成的字节码

scala -classpath . HelloWorld

最后会输出指望的结果: Hello, world!。

脚本方式运行 "Hello, world!" 程序

也能够将 "Hello, world!" 程序做为一个 shell 脚本或是 批处理命令运行。bash shell 脚本 HelloWorld.sh 包含下面的 Scala 代码以及 shell 序言

HelloWorld Script

而后直接从命令行解释器中运行:

sh HelloWorld.sh

最后也会输出指望的结果: Hello, world!。

IntelliJ IDEA 中运行 "Hello, world!" 程序

首先,在 IntelliJ IDEA 中安装 Scala 插件:

IDEA Scala Plugin

在 IntelliJ IDEA 中建立一个 Scala 项目,而后建立 HelloWorld.scala 并运行:

IDEA HelloWorld

##Scala Worksheet

使用Scala Worksheet的好处是: 在 IntelliJ IDEA中也能够交互式地编译运行 Scala 代码。

Scala Worksheet

相关文章
相关标签/搜索