CodeBlanks Logo Icon CodeBlanks

Default parameters

Learn to define parameters with default values.

Default parameters: default values

You can give a parameter a default value: fun greet(name: String, msg: String = "Hi"). If the caller omits it, the default is used; if provided, it overrides.

fun greet(name: String, msg: String = "Hi") {
    println("$msg $name")
}
greet("Ava")          // Hi Ava
greet("Ava", "Hello") // Hello Ava

Default parameters let one definition support many usage forms; they reduce the need for overloads.

Order of default parameters

Default parameters usually sit at the end of the parameter list. This lets the caller pass the leading required parameters by position and omit the rest.

fun order(item: String, qty: Int = 1, gift: Boolean = false)
order("book")           // qty=1, gift=false
order("book", 3)        // qty=3, gift=false
order("book", 3, true)  // qty=3, gift=true

If a non-default parameter comes after a default one, the caller must use a named argument to skip the default one.

Practice Define greet with a default parameter

Define a fun greet(name: String, msg: String = "Hello") whose body is println("$msg $name"). From main call greet("Ava").

Starter code

Main.kt
fun main() {
    // Call greet with "Ava" (msg uses its default)
}

// Define greet: msg parameter defaults to "Hello"

Sample solution

Main.kt
fun main() {
    greet("Ava")
}

fun greet(name: String, msg: String = "Hello") {
    println("$msg $name")
}

Expected output

Hello Ava

Questions and answers

Review the lesson questions together with their answers. To test yourself, solve the lesson interactively.

1 Fill in the blank: default value

Question
fun greet(name: String, msg: String ____ "Hello")
Answer
fun greet(name: String, msg: String = "Hello")

Explanation: msg: String = "Hello" assigns a default value.

2 Match call form to outcome

Term Meaning
msg: String = "Hi" Parameter with default
name: String Required parameter
greet("Ava") Default is used
greet("Ava", "Hi") Default is overridden

3 fun greet(name: String, msg: String = "Merhaba"); what does greet("Ayşe") print?

  • Merhaba Ava Correct answer
  • Ava
  • Throws an exception
  • Hi Ava

Explanation: Since msg is not given, the default "Merhaba" is used.

All lessons in Beginner