首先咱们使用标准的 “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 程序员在单例对象中声明这些成员, 而不是定义静态成员。数组
在命令行中输入 scala 命令并按下回车键, 便可启动 Scala 解释器, 从而能够交互式地解释 Scala 表达式。bash
上面实际发生了两件事情: 一、HelloWorld 程序被编译成了字节码; 二、字节码由 Java 虚拟机执行。函数
快捷键 :q 是内部 shell 命令 :quit 的简写, 它用来退出解释器。ui
####一、编译 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!" 程序做为一个 shell 脚本或是 批处理命令运行。bash shell 脚本 HelloWorld.sh 包含下面的 Scala 代码以及 shell 序言
而后直接从命令行解释器中运行:
sh HelloWorld.sh
最后也会输出指望的结果: Hello, world!。
首先,在 IntelliJ IDEA 中安装 Scala 插件:
在 IntelliJ IDEA 中建立一个 Scala 项目,而后建立 HelloWorld.scala 并运行:
##Scala Worksheet
使用Scala Worksheet的好处是: 在 IntelliJ IDEA中也能够交互式地编译运行 Scala 代码。