Bird
Raised Fist0
Kotlinprogramming~20 mins

Char type and Unicode behavior in Kotlin - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Unicode Char Mastery
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 Char arithmetic?
Consider the following Kotlin code snippet. What will it print?
Kotlin
fun main() {
    val c: Char = 'A'
    val result = c + 2
    println(result)
}
A67
BC
CError: Operator '+' cannot be applied to 'Char' and 'Int'
DB
Attempts:
2 left
💡 Hint
Remember that Char plus Int results in an Int in Kotlin.
❓ Predict Output
intermediate
2:00remaining
What does this Kotlin code print when converting Char to Int?
What is the output of this Kotlin program?
Kotlin
fun main() {
    val ch: Char = '\u03A9' // Greek capital letter Omega
    println(ch.code)
}
A937
BOmega
CError: 'code' property not found
D0x03A9
Attempts:
2 left
💡 Hint
The 'code' property returns the Unicode code point as an Int.
❓ Predict Output
advanced
2:00remaining
What is the output of this Kotlin code using Char ranges and contains?
Analyze the code and select the correct output.
Kotlin
fun main() {
    val vowels = 'a'..'u'
    println('e' in vowels)
    println('z' in vowels)
}
A
false
false
B
false
true
C
true
true
D
true
false
Attempts:
2 left
💡 Hint
Check if 'e' and 'z' fall within the range from 'a' to 'u'.
❓ Predict Output
advanced
2:00remaining
What error does this Kotlin code raise when converting a Char to Int incorrectly?
What error will this code produce?
Kotlin
fun main() {
    val ch: Char = '1'
    val num: Int = ch
    println(num)
}
APrints 1
BPrints 49
CType mismatch: inferred type is Char but Int was expected
DNo output, infinite loop
Attempts:
2 left
💡 Hint
Kotlin does not allow implicit conversion from Char to Int.
🧠 Conceptual
expert
3:00remaining
How many characters are in this Kotlin string containing Unicode surrogate pairs?
Consider this Kotlin code snippet. How many characters does the string contain?
Kotlin
fun main() {
    val s = "\uD83D\uDE00" // Unicode emoji 😀 represented as surrogate pair
    println(s.length)
}
A1
B2
C0
DError at runtime
Attempts:
2 left
💡 Hint
Kotlin strings use UTF-16 encoding; surrogate pairs count as two chars.

Practice

(1/5)
1. Which of the following correctly declares a Char variable in Kotlin?
easy
A. val letter: Char = `A`
B. val letter: Char = "A"
C. val letter: Char = A
D. val letter: Char = 'A'

Solution

  1. Step 1: Understand Char declaration syntax

    In Kotlin, a Char value must be enclosed in single quotes, like 'A'.
  2. Step 2: Check each option

    val letter: Char = 'A' uses single quotes correctly. val letter: Char = "A" uses double quotes (String). val letter: Char = A has no quotes (invalid). val letter: Char = `A` uses backticks (invalid for Char).
  3. Final Answer:

    val letter: Char = 'A' -> Option D
  4. Quick Check:

    Char uses single quotes = A [OK]
Hint: Char values use single quotes, not double quotes [OK]
Common Mistakes:
  • Using double quotes instead of single quotes
  • Omitting quotes around the character
  • Using backticks instead of quotes
2. Which of the following is the correct way to get the Unicode code of a Char in Kotlin?
easy
A. val code = 'A'.code
B. val code = 'A'.unicodeValue()
C. val code = 'A'.toInt()
D. val code = 'A'.unicode

Solution

  1. Step 1: Recall Kotlin Char Unicode property

    Kotlin provides the code property to get the Unicode integer value of a Char.
  2. Step 2: Evaluate options

    val code = 'A'.code uses code property correctly. val code = 'A'.toInt() uses toInt() which does not exist for Char. Options B and D use non-existent methods/properties.
  3. Final Answer:

    val code = 'A'.code -> Option A
  4. Quick Check:

    Use .code to get Unicode number [OK]
Hint: Use .code property to get Unicode number from Char [OK]
Common Mistakes:
  • Using non-existent toInt() method on Char
  • Trying non-existent methods like unicodeValue()
  • Accessing properties that don't exist
3. What is the output of the following Kotlin code?
val ch: Char = 'Z'
println(ch.code)
medium
A. 122
B. 90
C. Z
D. SyntaxError

Solution

  1. Step 1: Identify the Char and property used

    The variable ch is assigned the character 'Z'. The code prints ch.code, which returns the Unicode integer value.
  2. Step 2: Find Unicode value of 'Z'

    The Unicode code for uppercase 'Z' is 90.
  3. Final Answer:

    90 -> Option B
  4. Quick Check:

    'Z'.code = 90 [OK]
Hint: Remember uppercase 'Z' Unicode is 90 [OK]
Common Mistakes:
  • Confusing uppercase and lowercase Unicode values
  • Expecting the character itself instead of code
  • Thinking code property causes syntax error
4. Identify the error in this Kotlin code snippet:
val ch: Char = "A"
println(ch.code)
medium
A. code property does not exist for Char
B. Missing semicolon after println
C. Using double quotes for Char assignment
D. Variable ch should be Int, not Char

Solution

  1. Step 1: Check Char assignment syntax

    Chars must be assigned using single quotes, not double quotes. Double quotes create a String.
  2. Step 2: Verify other parts

    Semicolons are optional in Kotlin, so no error there. The code property exists for Char. Variable type Char is correct.
  3. Final Answer:

    Using double quotes for Char assignment -> Option C
  4. Quick Check:

    Char needs single quotes, not double [OK]
Hint: Chars use single quotes; double quotes mean String [OK]
Common Mistakes:
  • Thinking semicolons are mandatory
  • Believing code property is invalid
  • Confusing Char and Int types
5. Given a list of characters val chars = listOf('a', 'B', 'c', 'D'), which Kotlin expression correctly filters only uppercase letters using Unicode properties?
hard
A. chars.filter { it.isUpperCase() }
B. chars.filter { it.code > 90 }
C. chars.filter { it.code.isUpperCase() }
D. chars.filter { it > 'Z' }

Solution

  1. Step 1: Understand filtering uppercase letters

    Kotlin's Char class has a method isUpperCase() that returns true if the character is uppercase.
  2. Step 2: Evaluate each option

    chars.filter { it.isUpperCase() } uses isUpperCase() correctly. chars.filter { it.code > 90 } filters by code > 90, which excludes all uppercase letters (A-Z: 65-90). chars.filter { it.code.isUpperCase() } calls isUpperCase() on an Int (code), which does not exist. chars.filter { it > 'Z' } compares chars incorrectly.
  3. Final Answer:

    chars.filter { it.isUpperCase() } -> Option A
  4. Quick Check:

    Use isUpperCase() to filter uppercase chars [OK]
Hint: Use isUpperCase() method to filter uppercase chars [OK]
Common Mistakes:
  • Filtering by numeric code incorrectly
  • Calling isUpperCase() on the Unicode code (Int)
  • Using wrong comparison operators for chars
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