Scala Tutorial
Examples
Hello World by Defining a 'main' Method
Place this code in a file named HelloWorld.scala:
object Hello {
def main(args: Array[String]): Unit = {
println("Hello World!")
}
}
To compile it to bytecode that is executable by the JVM:
$ scalac HelloWorld.scala
To run it:
$ scala Hello
When the Scala runtime loads the program, it looks for an object named Hello with a main method. The main method is the program entry point and is executed.
Note that, unlike Java, Scala has no requirement of naming objects or classes after the file they're in. Instead, the parameter Hello passed in the command scala Hello refers to the object to look for that contains the main method to be executed. It is perfectly possible to have multiple objects with main methods in the same .scala file.
The args array will contain the command-line arguments given to the program, if any. For instance, we can modify the program like this:
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello World!")
for {
arg <- args
} println(s"Arg=$arg")
}
}
Compile it:
$ scalac HelloWorld.scala
And then execute it:
$ scala HelloWorld 1 2 3
Hello World!
Arg=1
Arg=2
Arg=3
Hello World by extending App
object HelloWorld extends App {
println("Hello, world!")
}