Beginner 6 min readKotlin 2.0

Kotlin Default Arguments — Parameters with Default Values

Default arguments let you define preset values for function parameters. Callers can skip those parameters and use the defaults.

What You Will Learn

  • Declare parameters with default values
  • Call functions with and without defaults
  • Combine required and optional parameters
  • Use with named arguments

Basic Default Arguments

Assign a default value with = in the parameter list.

Default Arguments

kotlin
fun greet(name: String, greeting: String = "Hello") {
    println("$greeting, $name!")
}

fun main() {
    greet("Juned")               // uses default greeting
    greet("Kotlin", "Welcome")   // overrides default
    greet("Alice", "Hi")
}
Output
Hello, Juned! Welcome, Kotlin! Hi, Alice!

greeting has a default value of "Hello". When not provided, "Hello" is used. When provided, the caller's value takes priority.

Beginner Tip: Put parameters with defaults after required ones. Required parameters must come first.

Multiple Defaults

Multiple parameters can have default values.

Multiple Defaults

kotlin
fun createUser(
    name: String,
    role: String = "Student",
    active: Boolean = true
) {
    println("$name | $role | Active: $active")
}

fun main() {
    createUser("Juned")
    createUser("Rahul", "Admin")
    createUser("Sara", "Teacher", false)
}
Output
Juned | Student | Active: true Rahul | Admin | Active: true Sara | Teacher | Active: false

Provide as many or as few arguments as you need. Unspecified parameters use their defaults.

Default Arguments with Named Arguments

Named arguments let you skip middle parameters.

Skip Middle Parameter

kotlin
fun display(width: Int = 800, height: Int = 600, title: String = "App") {
    println("$title: ${width}x${height}")
}

fun main() {
    display()                      // all defaults
    display(title = "Game")        // only change title
    display(height = 1080, title = "HD App")
}
Output
App: 800x600 Game: 800x600 HD App: 800x1080

Named arguments let you specify any parameter by name, skipping parameters you want to keep at their default value.

Practice Exercise

Exercisepredict output

What prints? fun power(base: Int, exp: Int = 2) = Math.pow(base.toDouble(), exp.toDouble()).toInt() fun main() { println(power(3)) println(power(2, 3)) }

Quick Quiz

Quick Quiz

Where should parameters with default values be placed?

Frequently Asked Questions

Related Tutorials

Last updated: 2026-05-01Kotlin 2.0

Written by KotlinGuide Editorial Team · Reviewed by KotlinGuide Technical Review