Open In App

Data Types in Scala

Last Updated : 11 Jul, 2025
Suggest changes
Share
4 Likes
Like
Report

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:

DataTypeDefault valueDescription
BooleanFalseTrue or False
Byte08 bit signed value. Range:-128 to 127
Short016 bit signed value. Range:-215 to 215-1
Char'\u000'16 bit unsigned unicode character. Range:0 to 216-1
Int032 bit signed value. Range:-231 to 231-1
Long0L64 bit signed value. Range:-263 to 263-1
Float0.0F32 bit IEEE 754 single-Precision float
Double0.0D64 bit IEEE 754 double-Precision float
StringnullA 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
// 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("boolean:geeksforgeeks")  }  println("byte:" + a1)  println("float:" + a2)  println("integer:" + a3)  println("short:" + a4)  println("double:" + a5)  println("char:" + a6) } } 

Output:

boolean:geeksforgeeks byte:126 float:2.45673 integer:3 short:45 double:2.93846523 char:A

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:

02 0 40 213 0xFFFFFFFF 0743L

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

0.7 1e60f 3.12154f 1.0e100 .3

  • 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:

'\b' 'a' '\r' '\u0027'

  • 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 programming language"""


Article Tags :

Explore