Bird
Raised Fist0
Android Kotlinmobile~5 mins

Data types and type inference in Android Kotlin - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a data type in Kotlin?
A data type defines the kind of value a variable can hold, like numbers, text, or true/false values.
Click to reveal answer
beginner
What does val mean in Kotlin?
val declares a read-only variable, which means its value cannot change after it is set.
Click to reveal answer
beginner
Explain type inference in Kotlin.
Type inference means Kotlin can guess the data type of a variable from the value you assign, so you don't always need to write the type explicitly.
Click to reveal answer
beginner
What is the difference between Int and Double in Kotlin?
Int holds whole numbers without decimals, while Double holds numbers with decimals.
Click to reveal answer
beginner
How do you explicitly declare a variable type in Kotlin?
You write the variable name, then a colon, then the type. For example: val age: Int = 30.
Click to reveal answer
Which keyword declares a variable whose value cannot change in Kotlin?
Aval
Bvar
Clet
Dconst
What type will Kotlin infer for val name = "Anna"?
AString
BInt
CBoolean
DDouble
Which data type should you use for a number with decimals?
AInt
BDouble
CString
DBoolean
How do you explicitly declare a variable of type Int?
Aval number = 5 as Int
Bval number = Int(5)
Cval Int number = 5
Dval number: Int = 5
What happens if you try to change a val variable?
AIt changes successfully
BIt changes at runtime
CYou get a compile error
DIt changes only sometimes
Explain how Kotlin's type inference helps when declaring variables.
Think about how Kotlin figures out the type from the value you give.
You got /3 concepts.
    Describe the difference between val and var in Kotlin.
    Consider if the variable can be changed or not.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which keyword in Kotlin declares a variable whose value cannot be changed after assignment?
      easy
      A. val
      B. var
      C. let
      D. const

      Solution

      1. Step 1: Understand Kotlin variable keywords

        Kotlin uses val for immutable variables and var for mutable ones.
      2. Step 2: Identify the immutable keyword

        val means the value cannot be changed after assignment.
      3. Final Answer:

        val -> Option A
      4. Quick Check:

        Immutable variable keyword = val [OK]
      Hint: Remember: val = fixed, var = changeable [OK]
      Common Mistakes:
      • Confusing val and var
      • Using let which is not a Kotlin keyword
      • Thinking const is used like val
      2. Which of the following is the correct way to declare an integer variable with value 10 using type inference in Kotlin?
      easy
      A. val number: Int = 10
      B. val number = 10.0
      C. var number = "10"
      D. val number = 10

      Solution

      1. Step 1: Understand type inference in Kotlin

        Kotlin can guess the type from the assigned value, so val number = 10 infers Int.
      2. Step 2: Check each option

        val number: Int = 10 declares type explicitly, which is correct but not type inference. val number = 10 uses type inference correctly. var number = "10" assigns a String, not Int. val number = 10.0 assigns a Double, not Int.
      3. Final Answer:

        val number = 10 -> Option D
      4. Quick Check:

        Type inference assigns Int from 10 [OK]
      Hint: Omit type to let Kotlin infer it [OK]
      Common Mistakes:
      • Adding explicit type when not needed
      • Assigning wrong data type
      • Confusing Int and Double
      3. What will be the output of this Kotlin code?
      val x = 5
      val y = 2
      val result = x / y
      println(result)
      medium
      A. 2.0
      B. 2.5
      C. 2
      D. Compilation error

      Solution

      1. Step 1: Identify variable types and operation

        Both x and y are Int by type inference. Integer division truncates decimals.
      2. Step 2: Calculate integer division

        5 / 2 = 2 (decimal part discarded).
      3. Final Answer:

        2 -> Option C
      4. Quick Check:

        Integer division truncates decimals = 2 [OK]
      Hint: Integer division drops decimals in Kotlin [OK]
      Common Mistakes:
      • Expecting floating point result
      • Using variables as Double without declaration
      • Thinking println shows decimal automatically
      4. Identify the error in this Kotlin code snippet:
      val name = "Alice"
      name = "Bob"
      medium
      A. Missing semicolon after first line
      B. Cannot reassign a val variable
      C. String values must use single quotes
      D. Variable name is a reserved keyword

      Solution

      1. Step 1: Check variable declaration

        val name = "Alice" declares an immutable variable.
      2. Step 2: Check reassignment

        Trying to assign "Bob" to name causes error because val cannot be reassigned.
      3. Final Answer:

        Cannot reassign a val variable -> Option B
      4. Quick Check:

        val variables are immutable [OK]
      Hint: val means no reassignment allowed [OK]
      Common Mistakes:
      • Thinking val allows reassignment
      • Confusing quotes for strings
      • Assuming semicolons are mandatory
      5. Given this Kotlin code, what is the inferred type of result?
      val a = 3
      val b = 4.5
      val result = a + b
      hard
      A. Double
      B. Int
      C. Float
      D. String

      Solution

      1. Step 1: Identify types of operands

        a is Int, b is Double (4.5 is a Double literal).
      2. Step 2: Understand type promotion in arithmetic

        When adding Int and Double, Int is promoted to Double, so result is Double.
      3. Final Answer:

        Double -> Option A
      4. Quick Check:

        Int + Double results in Double [OK]
      Hint: Mixed numeric types promote to the wider type [OK]
      Common Mistakes:
      • Assuming result is Int
      • Confusing Float and Double
      • Thinking result is String
      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