The Char type lets you work with single letters or symbols. It uses Unicode, so you can handle many languages and special characters easily.
When you want to store or check a single letter or symbol.
When you need to compare characters, like checking if a letter is uppercase.
When you want to convert characters to their Unicode number or back.
When you process text one character at a time, like reading input.
When you want to handle special symbols or emojis in your program.
Syntax
Kotlin
val letter: Char = 'A'val symbol: Char = '\u2602'// Unicode for umbrella symbol
Use single quotes ' ' for Char values.
Unicode characters can be written with \u followed by 4 hex digits.
Examples
Stores the letter B as a Char.
Kotlin
val letter: Char = 'B'
Stores the Unicode heart symbol as a Char.
Kotlin
val emoji: Char = '\u2764'
Stores the digit 7 as a Char, not a number.
Kotlin
val digit: Char = '7'
Stores the newline character as a Char.
Kotlin
val newline: Char = '\n'
Sample Program
This program shows how to store characters, print them, check if a letter is uppercase, and get the Unicode number of a character.
Kotlin
fun main() {
val letter: Char = 'K'val unicodeChar: Char = '\u03A9'// Greek capital letter Omegaprintln("Letter: $letter")
println("Unicode char: $unicodeChar")
println("Is letter uppercase? ${letter.isUpperCase()}")
println("Unicode code of letter: ${letter.code}")
}
OutputSuccess
Important Notes
The Char type holds a single character, not a string.
You can get the Unicode number of a Char using code property.
Unicode lets you use letters from many languages and symbols like emojis.
Summary
Char stores one character using Unicode.
Use single quotes to write Char values.
You can check character properties and get Unicode numbers easily.
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
Step 1: Understand Char declaration syntax
In Kotlin, a Char value must be enclosed in single quotes, like 'A'.
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).
Final Answer:
val letter: Char = 'A' -> Option D
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
Step 1: Recall Kotlin Char Unicode property
Kotlin provides the code property to get the Unicode integer value of a Char.
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.
Final Answer:
val code = 'A'.code -> Option A
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
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.
Step 2: Find Unicode value of 'Z'
The Unicode code for uppercase 'Z' is 90.
Final Answer:
90 -> Option B
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
Step 1: Check Char assignment syntax
Chars must be assigned using single quotes, not double quotes. Double quotes create a String.
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.
Final Answer:
Using double quotes for Char assignment -> Option C
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
Step 1: Understand filtering uppercase letters
Kotlin's Char class has a method isUpperCase() that returns true if the character is uppercase.
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.
Final Answer:
chars.filter { it.isUpperCase() } -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.