In Kotlin, we can declare variables in two ways:
val
keywordThe variable declared using the val
keyword is val
as attempting to do so will throw an error.
val company = "Educative";
Above, we have declared the company
variable. We don’t need to explicitly declare the data type for the company
variable as Kotlin implicitly does this from the initializer expression. For example, if we have assigned “Educative” to the company
variable, Kotlin will internally find the type and use that type for that variable.
Regardless, we are not restricted to specifying the data type of the variable. We can specify the data type by using:
var company:String = "Educative"
We will get an error when we try to re-assign the value of a variable created using val
:
val day = "sunday"
day = "Monday";
// Val cannot be reassigned
var
keywordThe variable declared using var
keyword is
var company:String = "Educative"
company = "Educative.io"
Suppose we have created a variable:
var company = "Educative"
Kotlin will internally assign the company as String
type. When we re-assign other type values to the company
variable, it will result in an error:
var company = "Educative"
company = 10 // The integer literal does not conform to the expected type String
Declaring a variable using var
without an initializer:
var company // Error: The variable must either have a Type annotation or be initialized
The above variable declaration will throw an error because Kotlin doesn’t know the data type to be assigned to the company
variable.
To resolve the above error, we can specify the type of the variable during the declaration and assign the value later.
fun main() { val day = "sunday" val mood:String if( day.equals("sunday") ) { mood = "Happy" } else { mood = "Neutral" } println(mood) }
In the above code, we have declared the mood
variable using val
with type String
and assigned the value to it inside the if...else
block.
RELATED TAGS
CONTRIBUTOR
View all Courses