📖 Scenario: You are learning how to write simple functions in Kotlin. Functions help you organize your code into reusable blocks that do specific tasks.
🎯 Goal: Create a Kotlin function that adds two numbers and returns the result.
📋 What You'll Learn
Declare a function named addNumbers that takes two Int parameters named a and b.
The function should return an Int which is the sum of a and b.
Call the function with the numbers 5 and 7 and print the result.
💡 Why This Matters
🌍 Real World
Functions help programmers organize code into small reusable pieces, making programs easier to read and maintain.
💼 Career
Knowing how to write functions is essential for any software developer to build clean and efficient code.
Progress0 / 4 steps
1
Create the function header
Write a function declaration named addNumbers that takes two Int parameters called a and b. Do not write the function body yet.
Kotlin
Hint
Start with the keyword fun, then the function name, parameters in parentheses, and the return type after a colon.
2
Add the function body
Inside the addNumbers function, write code to return the sum of a and b.
Kotlin
Hint
Use the return keyword followed by a + b.
3
Call the function
Call the addNumbers function with arguments 5 and 7 and store the result in a variable named result.
Kotlin
Hint
Use val result = addNumbers(5, 7) to call the function and save the answer.
4
Print the result
Write a println statement to display the value of the variable result.
Kotlin
Hint
Use println(result) to show the sum on the screen.
Practice
(1/5)
1. Which of the following is the correct way to declare a simple function named greet in Kotlin that takes no parameters and returns no value?
easy
A. function greet() { println("Hello") }
B. fun greet() { println("Hello") }
C. def greet() { println("Hello") }
D. fun greet { println("Hello") }
Solution
Step 1: Identify the correct keyword for function declaration
Kotlin uses the keyword fun to declare functions. Options using function or def are incorrect.
Step 2: Check the function syntax for parameters and braces
The function must have parentheses even if there are no parameters, so fun greet { println("Hello") } is incorrect because it misses parentheses.
Final Answer:
fun greet() { println("Hello") } -> Option B
Quick Check:
fun + name + () + body = B [OK]
Hint: Remember: Kotlin functions start with 'fun' and need parentheses [OK]
Common Mistakes:
Using 'function' or 'def' instead of 'fun'
Omitting parentheses for parameter list
Missing curly braces for function body
2. Which of the following is the correct syntax to declare a function add that takes two Int parameters and returns their sum as an Int?
easy
A. fun add(a: Int, b: Int): Int { a + b }
B. fun add(a Int, b Int): Int { return a + b }
C. fun add(a: Int, b: Int) -> Int { return a + b }
D. fun add(a: Int, b: Int): Int = a + b
Solution
Step 1: Check parameter declaration syntax
Parameters must be declared as name: Type, so fun add(a Int, b Int): Int { return a + b } is incorrect because it misses colons.
Step 2: Verify return type and function body syntax
fun add(a: Int, b: Int): Int = a + b uses the correct syntax with an expression body and return type. fun add(a: Int, b: Int) -> Int { return a + b } uses '->' which is invalid in Kotlin. fun add(a: Int, b: Int): Int { a + b } misses the return keyword in a block body, so it won't return the sum.
Final Answer:
fun add(a: Int, b: Int): Int = a + b -> Option D
Quick Check:
fun + parameters with colons + : ReturnType + = expression = A [OK]
Hint: Use colons for types and '=' for single-expression functions [OK]
Common Mistakes:
Omitting colons between parameter names and types
Using '->' instead of ':' for return type
Missing 'return' in block body functions
3. What is the output of the following Kotlin code?
fun multiply(x: Int, y: Int): Int {
return x * y
}
fun main() {
println(multiply(3, 4))
}
medium
A. 12
B. 34
C. 7
D. Error
Solution
Step 1: Understand the multiply function
The function takes two integers and returns their product using return x * y.
Step 2: Calculate the function call multiply(3, 4)
3 multiplied by 4 equals 12, so the function returns 12.
Final Answer:
12 -> Option A
Quick Check:
3 * 4 = 12 [OK]
Hint: Multiply parameters and check return value [OK]
Common Mistakes:
Adding instead of multiplying
Concatenating numbers as strings
Assuming syntax error due to missing expression body
4. Identify the error in the following Kotlin function declaration:
fun divide(a: Int, b: Int): Int {
return a / b
medium
A. Missing closing brace '}'
B. Incorrect return type
C. Parameters should not have types
D. Function name is invalid
Solution
Step 1: Check function syntax completeness
The function body starts with '{' but there is no closing '}', so the code is incomplete.
Step 2: Verify other syntax parts
The return type is correct, parameters have types, and the function name is valid, so no other errors.
Final Answer:
Missing closing brace '}' -> Option A
Quick Check:
All blocks need matching braces [OK]
Hint: Count opening and closing braces carefully [OK]
Common Mistakes:
Forgetting to close function body with '}'
Misplacing colons in parameters
Using invalid function names
5. You want to declare a Kotlin function formatName that takes two parameters: firstName and lastName (both Strings), and returns a single String in the format "Last, First". Which of the following is the correct declaration and implementation?
hard
A. fun formatName(firstName: String, lastName: String): Int = "$lastName, $firstName"
B. fun formatName(firstName String, lastName String) = lastName + ", " + firstName
C. fun formatName(firstName: String, lastName: String): String { return "$lastName, $firstName" }
D. fun formatName(firstName: String, lastName: String): String { "$lastName, $firstName" }
Solution
Step 1: Check parameter and return type syntax
Parameters must use name: Type and return type must match. A uses : Int but returns String (type mismatch). B misses colons (firstName String invalid).
Step 2: Verify function body syntax
C has block body { "$lastName, $firstName" } without return, returns Unit not String. D correctly uses block body with return and string interpolation.
Final Answer:
fun formatName(firstName: String, lastName: String): String { return "$lastName, $firstName" } -> Option C
Quick Check:
Correct types + block body with return + interpolation = D [OK]
Hint: Use return keyword in block body functions for clarity [OK]
Common Mistakes:
Omitting return keyword in block body
Missing return type declaration
Incorrect string concatenation or interpolation
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.