String templates let you put values right inside text easily. This makes your messages clear and quick to write.
When you want to show a user's name inside a greeting message.
When you need to include numbers or results inside a sentence.
When building dynamic messages that change based on data.
When formatting output for logs or reports with variable info.
Syntax
Kotlin
val message = "Hello, $name!"val info = "You have ${count + 1} new messages."
Use $variableName to insert simple variables.
Use ${expression} to insert calculations or more complex code.
Examples
Insert a simple variable name inside the string.
Kotlin
val name = "Anna"val greeting = "Hi, $name!"
Calculate sum inside the string using ${}.
Kotlin
val apples = 3val oranges = 5val total = "Total fruits: ${apples + oranges}"
Use \$ to show a literal dollar sign before a variable.
Kotlin
val price = 9.99val message = "Price is \$$price"
Sample Program
This program uses string templates to show a greeting with the user's name, number of items, and total cost. It also shows how to print a dollar sign.
Kotlin
fun main() {
val user = "Sam"val items = 4val pricePerItem = 2.5val totalCost = items * pricePerItem
val message = "Hello, $user! You bought $items items. Total cost: \$$totalCost"println(message)
}
OutputSuccess
Important Notes
Remember to escape the dollar sign \$ if you want it to appear as a normal character.
String templates work only inside double quotes "", not single quotes.
Summary
String templates let you put variables or expressions inside strings easily.
Use $variable for simple variables and ${expression} for calculations.
Escape dollar signs with \$ to show them literally.
Practice
(1/5)
1. What is the correct way to include a variable name inside a Kotlin string using string templates?
easy
A. println("Hello, +name+")
B. println("Hello, {name}!")
C. println("Hello, $name!")
D. println("Hello, %name%!")
Solution
Step 1: Understand Kotlin string templates
Kotlin uses $variable to insert variable values inside strings.
Step 2: Identify correct syntax for variable insertion
The syntax $name directly inserts the value of name into the string.
Final Answer:
println("Hello, $name!") -> Option C
Quick Check:
Use $variable for string templates [OK]
Hint: Use $variable to insert variables inside strings [OK]
Common Mistakes:
Using curly braces without $ like {name}
Concatenating with + inside strings
Using % signs instead of $
2. Which of the following is the correct syntax to include an expression inside a Kotlin string template?
easy
A. println("Sum is ${a + b}")
B. println("Sum is $a + $b")
C. println("Sum is $[a + b]")
D. println("Sum is $(a + b)")
Solution
Step 1: Recall expression syntax in string templates
Kotlin uses ${expression} to evaluate expressions inside strings.
Step 2: Identify correct expression usage
${a + b} correctly calculates the sum and inserts it.
Final Answer:
println("Sum is ${a + b}") -> Option A
Quick Check:
Use ${expression} for calculations inside strings [OK]
Hint: Use ${} to insert expressions inside strings [OK]
Common Mistakes:
Using $a + $b prints variables separately, not sum
Using square brackets [] instead of curly braces
Using parentheses () without $
3. What will be the output of the following Kotlin code?
val price = 10
val tax = 2
println("Total: ${price + tax}")
medium
A. Total: 10 + 2
B. Total: 12
C. Total: ${price + tax}
D. Total: price + tax
Solution
Step 1: Evaluate the expression inside the string template
The expression ${price + tax} adds 10 + 2 = 12.
Step 2: Print the resulting string
The string becomes "Total: 12" and is printed.
Final Answer:
Total: 12 -> Option B
Quick Check:
Expression inside ${} is evaluated [OK]
Hint: Expressions inside ${} are calculated before printing [OK]
Common Mistakes:
Printing the expression literally without evaluation
Confusing $variable with ${expression}
Expecting concatenation without braces
4. Identify the error in this Kotlin code snippet:
val count = 5
println("Count is $count+1")
medium
A. It will print 'Count is 5+1' literally, not sum
B. Runtime error because of invalid string
C. Syntax error due to missing braces
D. It will print 'Count is 6' correctly
Solution
Step 1: Understand how $count+1 is interpreted
Kotlin treats $count as variable and +1 as plain text, so it prints "5+1" literally.
Step 2: Correct way to calculate sum in string
Use ${count + 1} to evaluate the sum inside the string.
Final Answer:
It will print 'Count is 5+1' literally, not sum -> Option A
Quick Check:
Use ${} for expressions, else prints text [OK]
Hint: Use ${} to calculate expressions, else prints text [OK]
Common Mistakes:
Assuming $count+1 calculates sum automatically
Missing braces for expressions
Confusing string concatenation with templates
5. You want to print the price with a dollar sign, for example: $20. Which Kotlin string correctly shows the dollar sign before the number stored in price?
hard
A. println("$price")
B. println("\$price")
C. println("$\$price")
D. println("\$$price")
Solution
Step 1: Understand escaping dollar sign in Kotlin strings
To print a literal dollar sign, use \$ to escape it.
Step 2: Combine escaped dollar sign with variable
"\$$price" prints a literal $ followed by the value of price.
Final Answer:
println("\$$price") -> Option D
Quick Check:
Escape $ with \$ to print it literally [OK]
Hint: Escape $ as \$ to print dollar sign literally [OK]
Common Mistakes:
Not escaping $ prints variable name or causes error
Using $\$ instead of \$$
Confusing escape sequences
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.