Bird
Raised Fist0
Kotlinprogramming~20 mins

Explicit type declaration in Kotlin - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Kotlin Explicit Type Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this Kotlin code with explicit type declaration?
Consider the following Kotlin code snippet. What will it print when run?
Kotlin
val number: Int = 10
val text: String = "Hello"
println("$text $number")
ACompilation error
BHello 10
C10 Hello
DHello10
Attempts:
2 left
💡 Hint
Look at how the variables are combined inside the println statement.
❓ Predict Output
intermediate
2:00remaining
What is the type of variable 'result' after this declaration?
Given the Kotlin code below, what is the explicit type of 'result'?
Kotlin
val result: Double = 5 / 2
ADouble with value 2.5
BCompilation error
CInt with value 2
DDouble with value 2.0
Attempts:
2 left
💡 Hint
Remember that 5 and 2 are integers and division between integers behaves differently.
🔧 Debug
advanced
2:00remaining
Which option causes a compilation error due to explicit type mismatch?
Identify which Kotlin code snippet will cause a compilation error because the assigned value does not match the explicitly declared type.
Aval price: Double = 19.99
Bval age: Int = 30
Cval name: String = 123
Dval isActive: Boolean = true
Attempts:
2 left
💡 Hint
Check if the value assigned matches the declared type exactly.
❓ Predict Output
advanced
2:00remaining
What is the output of this Kotlin code with explicit nullable type?
Analyze the Kotlin code below and select the correct output.
Kotlin
val message: String? = null
println(message ?: "No message")
ANo message
Bnull
CCompilation error
DEmpty string
Attempts:
2 left
💡 Hint
The Elvis operator ?: returns the right side if the left side is null.
🧠 Conceptual
expert
2:00remaining
How many variables are explicitly declared as nullable in this Kotlin code?
Count the number of variables explicitly declared with nullable types in the following Kotlin code snippet.
Kotlin
val a: Int? = null
val b: String = "text"
val c: Double? = 3.14
val d: Boolean = true
val e: List<String>? = null
A3
B1
C4
D2
Attempts:
2 left
💡 Hint
Look for the question mark '?' after the type name.

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