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
// Scala program to illustrate Datatypes object Test { def main(args : Array[String]) { var a : Boolean = true var a 1 : Byte = 126 var a 2 : Float = 2.45673 f var a 3 : Int = 3 var a 4 : Short = 45 var a 5 : Double = 2.93846523 var a 6 : Char = 'A' if (a == true ) { println("boolean : geeksforgeeks") } println("byte : " + a 1 ) println("float : " + a 2 ) println("integer : " + a 3 ) println("short : " + a 4 ) println("double : " + a 5 ) println("char : " + a 6 ) } } |
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”””