Data Types in Scala

A data type is a categorization of data which tells the compiler that which type of value a variable has. For example, if a variable has an int data type, then it holds numeric value. In Scala, the data types are similar to Java in terms of length and storage. In Scala, data types are treated same objects so the first letter of the data type is in capital letter.
The data types that are available in Scala as shown in the below table:

DataType Default value Description
Boolean False True or False
Byte 0 8 bit signed value. Range:-128 to 127
Short 0 16 bit signed value. Range:-215 to 215-1
Char ‘\u000’ 16 bit unsigned unicode character. Range:0 to 216-1
Int 0 32 bit signed value. Range:-231 to 231-1
Long 0L 64 bit signed value. Range:-263 to 263-1
Float 0.0F 32 bit IEEE 754 single-Precision float
Double 0.0D 64 bit IEEE 754 double-Precision float
String null A sequence of character
Unit Coinsides to no value.
Nothing It is a subtype of every other type and it contains no value.
Any It is a supertype of all other types
AnyVal It serve as value types.
AnyRef It serves as reference types.

Note: Scala does not contain the concept of primitive type like in Java.

For Example:





// Scala program to illustrate Datatypes
object Test
def main(args: Array[String]) 
    var a: Boolean = true
    var a1: Byte = 126
    var a2: Float = 2.45673f
    var a3: Int = 3
    var a4: Short = 45
    var a5: Double = 2.93846523
    var a6: Char = 'A'
    if (a == true
    println("byte:" + a1)
    println("float:" + a2)
    println("integer:" + a3)
    println("short:" + a4)
    println("double:" + a5)
    println("char:" + a6)




Literals in Scala : Here we will discuss different types of literals used in Scala.

  • Integral Literal: These are generally of int type or long type (“L” or “I” suffix used ). Some legal integral literals are:


  • Floating-point Literals: These are of float type(“f” or”F” suffix used ) and of double type.


  • Boolean Literals: These are of Boolean type and it contains only true and false.
  • Symbol Literals: In Scala, symbol is a case class. In symbol literal, a’Y’ is identical to scala.Symbol(“Y”).

    package scala
    final case class Symbol private (name: String) {
    override def toString: String = “‘” + name

  • Character Literals: In Scala, character literal is a single character that is encircled between single quotes.There characters are printable unicode character and also described by the escape character. Few valid literals are shown below:


  • String Literals: In Scala, string literals are the sequence of character that are enclosed between double quotes. Some valid literals as shown below:

    “welcome to \n geeksforgeeks”
    “\\This is the tutorial of Scala\\”

  • Null Values: In Scala, null value is of scale.Null type, that’s the way it is adaptable with every reference type. It is indicated as a reference value which refers to a special “null” object.
  • Multi-line Literals: In Scala, multi-line literals are the sequence of characters that are encircled in between triple quotes. In this new line and other control characters are valid. Some valid multi-line literals shown below:

    “””welcome to geeksforgeeks\n
    this is the tutorial of \n
    scala programing language”””

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Improved By : ManasChhabra2

Article Tags :


Please write to us at to report any issue with the above content.