Scala Console: println, printf and readLineUse console functions like println and printf. Read lines from the console.
Println. In Scala we often have console programs that perform computations. The programs must write data to the console—or their results will remain unknown.
Method notes. With print, println and printf we report to the screen. And with methods from scala.io.StdIn we read data from the console. We build interactive programs.
Println example. With the print methods we write data (like Strings or Ints) to the screen. Here we use 3 print functions—we do not need to access the Console type directly.
Println This writes a value to the console and adds a trailing newline. We can pass Strings, Ints or other types to it.
Print This is the same as println but it adds no trailing newline. It just writes the data to the start of a line.
Printf This writes a format string and inserts additional arguments. It is similar to the Java String.format method.
object Program { def main(args: Array[String]): Unit = { // Use println on a string. println("Hello") // In Scala println is the same as Console.println. Console.println("World") // Use print to have no trailing newline. print("ABC") print(123) println() // Use printf with a format string. printf("Number = %d", 123) } }
Hello World ABC123 Number = 123
Readline. Here we get input from the user in the form of a string. The predefined readLine is deprecated, so we must access Scala.io.StdIn for a better version.
Here Control flow stops once readLine is invoked. Type something (like "cat") and press return. The variable now contains that string.
While This loop continues infinitely. In a real program we might want a "quit" command.
object Program { def main(args: Array[String]): Unit = { // Use an infinite loop. while (true) { // Read a line from the console window. val line = scala.io.StdIn.readLine() // Write the result string and a newline. printf("You typed: %s", line) println() } } }
cat You typed: cat bird You typed: bird
Standard library. The print and println functions are part of the predefined (Predef) object in Scala. These can be used anywhere, and are aliases to Console methods.
Standard library definitions:
def print(x: Any) = Console.print(x) def println() = Console.println()
Deprecated warning. The readLine method is deprecated. Instead of using readLine we can call into scala.io.StdIn.readLine. This eliminates the warning.
Warning on readLine:
warning: method readLine in trait DeprecatedPredef is deprecated: Use the method in scala.io.StdIn
A summary. For beginning Scala development, writing to and reading from the console is essential. With println and readLine most of this need is met.
© 2007-2022 sam allen.
see site info on the changelog.