In programming languages, Identifiers are used for identification purpose. In Scala, an identifier can be a class name, method name, variable name or an object name.
For example :
class GFG{ var a: Int = 20 } object Main { def main(args: Array[String]) { var ob = new GFG(); } }
In the above program we have 6 identifiers:
- GFG: Class name
- a: Variable name
- Main: Object name
- main: Method name
- args: Variable name
- ob: Object name
Rules for defining Java Scala
There are certain rules for defining a valid Scala identifier. These rules must be followed, otherwise we get a compile-time error.
- Scala identifiers are case-sensitive.
- Scala does not allows you to use keyword as an identifier.
- Reserved Words can’t be used as an identifier like $ etc.
- Scala only allowed those identifiers which are created using below four types of identifiers.
- There is no limit on the length of the identifier, but it is advisable to use an optimum length of 4 – 15 letters only.
- Identifiers should not start with digits([0-9]). For example “123geeks” is a not a valid Scala identifier.
Example:
Scala // Scala program to demonstrate // Identifiers object Main { // Main method def main(args: Array[String]) { // Valid Identifiers var `name` = "Siya"; var _age = 20; var Branch = "Computer Science"; println("Name:" +`name`); println("Age:" +_age); println("Branch:" +Branch); } } Output:
Name:Siya Age:20 Branch:Computer Science
In the above example, valid identifiers are:
Main, main, args, `name`, _age, Branch, +
and keywords are:
Object, def, var, println
Types of Scala identifiers
Scala supports four types of identifiers:
- Alphanumeric Identifiers: These identifiers are those identifiers which start with a letter(capital or small letter) or an underscore and followed by letters, digits, or underscores.
Example of valid alphanumeric identifiers:
_GFG, geeks123, _1_Gee_23, Geeks
Example of Invalid alphanumeric identifiers:
123G, $Geeks, -geeks
Example:
Scala // Scala program to demonstrate // Alphanumeric Identifiers object Main { // Main method def main(args: Array[String]) { // main, _name1, and Tuto_rial are // valid alphanumeric identifiers var _name1: String = "GeeksforGeeks" var Tuto_rial: String = "Scala" println(_name1); println(Tuto_rial); } } Output:
GeeksforGeeks Scala
- Operator Identifiers: These are those identifiers which contain one or more operator character like +, :, ?, ~, or # etc.
Example of valid operator identifiers:
+, ++
Example:
Scala // Scala program to demonstrate // Operator Identifiers object Main { // Main method def main(args: Array[String]) { // main, x, y, and sum are valid // alphanumeric identifiers var x:Int = 20; var y:Int = 10; // Here, + is a operator identifier // which is used to add two values var sum = x + y; println("Display the result of + identifier:"); println(sum); } } Output:
Display the result of + identifier: 30
- Mixed Identifiers: These are those identifiers which contains alphanumeric identifiers followed by underscore and an operator identifier.
Example of valid mixed identifiers:
unary_+, sum_=
Example:
Scala // Scala program to demonstrate // Mixed Identifiers object Main { // Main method def main(args: Array[String]) { // num_+ is a valid mixed identifier var num_+ = 20; println("Display the result of mixed identifier:"); println(num_+); } } Output:
Display the result of mixed identifier: 20
- Literal Identifiers: These are those identifiers in which an arbitrary string enclosed with back ticks (`....`) .
Example of valid mixed identifiers:
`Geeks`, `name`
Example:
Scala // Scala program to demonstrate // Literal Identifiers object Main { // Main method def main(args: Array[String]) { // `name` and `age` are valid literal identifiers var `name` = "Siya" var `age` = 20 println("Name:" +`name`); println("Age:" +`age`); } } Output:
Name:Siya Age:20
Explore
Overview
Basics
Control Statements
OOP Concepts
Methods
Strings
Scala Packages
Scala Trait
Collections