Bird
Raised Fist0
Kotlinprogramming~5 mins

Explicit type declaration in Kotlin

Choose your learning style10 modes available
Introduction
Explicit type declaration helps you tell the computer exactly what kind of data you want to store. It makes your code clear and helps avoid mistakes.
When you want to make your code easier to read for others.
When the computer cannot guess the type by itself.
When you want to be sure a variable holds only a specific type of data.
When you want to avoid accidental changes to the variable type later.
When you want to catch errors early during coding.
Syntax
Kotlin
val variableName: Type = value
var variableName: Type = value
Use val for values that do not change (like constants).
Use var for variables that can change later.
Examples
Declares a constant integer named age with value 25.
Kotlin
val age: Int = 25
Declares a variable string named name with value "Alice".
Kotlin
var name: String = "Alice"
Declares a constant double (decimal number) named price with value 19.99.
Kotlin
val price: Double = 19.99
Declares a variable boolean named isActive with value true.
Kotlin
var isActive: Boolean = true
Sample Program
This program shows how to declare variables with explicit types. It prints the values and changes the variable greeting.
Kotlin
fun main() {
    val year: Int = 2024
    var greeting: String = "Hello"
    println("Year: $year")
    println("Greeting: $greeting")
    greeting = "Hi"
    println("New Greeting: $greeting")
}
OutputSuccess
Important Notes
Explicit types make your code easier to understand for others and for yourself later.
If you do not specify a type, Kotlin tries to guess it from the value.
Use explicit types when the guess might be unclear or when you want to be very clear.
Summary
Explicit type declaration tells Kotlin exactly what type a variable or value has.
Use val for fixed values and var for changeable variables.
It helps prevent mistakes and makes your code easier to read.

Practice

(1/5)
1. What does explicit type declaration in Kotlin do?
easy
A. It automatically converts types without programmer input.
B. It tells Kotlin exactly what type a variable or value has.
C. It removes the need to use val or var.
D. It makes variables changeable by default.

Solution

  1. Step 1: Understand explicit type declaration

    Explicit type declaration means telling Kotlin the exact type of a variable, like Int or String.
  2. Step 2: Compare with other options

    The other options describe behaviors that are not related to explicit type declaration.
  3. Final Answer:

    It tells Kotlin exactly what type a variable or value has. -> Option B
  4. Quick Check:

    Explicit type declaration = telling exact type [OK]
Hint: Explicit means you say the type clearly [OK]
Common Mistakes:
  • Thinking Kotlin guesses types without declaration
  • Confusing explicit type with variable mutability
  • Believing explicit type removes need for val/var
2. Which of the following is the correct syntax for explicit type declaration of a variable in Kotlin?
easy
A. var age: Int = 25
B. val height = Int 170
C. val name String = "Alice"
D. var weight = 70: Int

Solution

  1. Step 1: Recall Kotlin variable declaration syntax

    Kotlin uses val or var followed by variable name, colon, type, then assignment.
  2. Step 2: Check each option

    var age: Int = 25 matches this syntax: var age: Int = 25. Others have syntax errors.
  3. Final Answer:

    var age: Int = 25 -> Option A
  4. Quick Check:

    Correct syntax uses colon before type [OK]
Hint: Use colon (:) before type in declaration [OK]
Common Mistakes:
  • Omitting colon before type
  • Placing type after value
  • Using wrong order of keywords
3. What will be the output of this Kotlin code?
val number: Int = 10
var text: String = "Hello"
text = "Hi"
println(number)
println(text)
medium
A. Error: Cannot reassign val
B. 10\nHello
C. 10\nHi
D. 10\nnull

Solution

  1. Step 1: Analyze variable declarations and assignments

    number is a val (fixed) with value 10. text is a var (changeable) initially "Hello", then changed to "Hi".
  2. Step 2: Determine printed output

    Printing number outputs 10. Printing text outputs the updated value "Hi".
  3. Final Answer:

    10 Hi -> Option C
  4. Quick Check:

    val fixed, var changeable = 10 and Hi [OK]
Hint: val is fixed, var can change value [OK]
Common Mistakes:
  • Thinking val can be reassigned
  • Confusing initial and updated values
  • Expecting syntax error for reassignment of var
4. Identify the error in this Kotlin code snippet:
val count: Int = 5
count = 10
medium
A. Missing type declaration for count
B. Variable count should be declared with var
C. Incorrect type Int assigned to count
D. Cannot reassign a value to val variable

Solution

  1. Step 1: Understand val and var difference

    val means the variable is read-only and cannot be reassigned after initialization.
  2. Step 2: Check the reassignment

    The code tries to assign 10 to count which is declared as val, causing an error.
  3. Final Answer:

    Cannot reassign a value to val variable -> Option D
  4. Quick Check:

    val is fixed, reassignment causes error [OK]
Hint: val variables cannot be reassigned [OK]
Common Mistakes:
  • Thinking val variables can be changed
  • Confusing val and var keywords
  • Ignoring reassignment rules
5. You want to declare a variable score that can change and must hold decimal numbers. Which explicit type declaration is correct in Kotlin?
hard
A. var score: Double = 95.5
B. var score: Int = 95.5
C. val score: Double = 95.5
D. val score: Float = "95.5"

Solution

  1. Step 1: Identify mutability requirement

    The variable score must be changeable, so use var, not val.
  2. Step 2: Choose correct type for decimal numbers

    Decimal numbers require Double or Float, but value 95.5 is a Double by default.
  3. Step 3: Check options

    var score: Double = 95.5 uses var and Double with correct value. Others either use val, wrong type, or wrong value type.
  4. Final Answer:

    var score: Double = 95.5 -> Option A
  5. Quick Check:

    var + Double for changeable decimal [OK]
Hint: Use var for changeable, Double for decimals [OK]
Common Mistakes:
  • Using val when variable should change
  • Assigning decimal to Int type
  • Putting string value for numeric type
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard