Kotlin control flow
last modified January 29, 2024
This article shows how to do control flow in a Kotlin program with
if, when, while, and for.
Kotlin is a statically-typed programming language that runs on the Java virtual machine.
Kotlin was created by JetBrains. Kotlin is an object-oriented and functional programming language. Kotlin was designed to be a pragmatic, concise, safe, and interoperable programming language.
Kotlin if condition
The if keyword is used to create simple conditional tests.
It can be used in conjuction with the else keyword.
package com.zetcode
fun main() {
print("Enter your age: ")
val s_age: String? = readLine()
if (s_age!!.isEmpty()) return
val age:Int = s_age.toInt()
if (age > 18) {
println("You can obtain a driving licence")
} else {
println("You cannot obtain a driving licence")
}
}
In the example, we show a prompt to enter user's age. We read the value, convert it into an integer, and store in a variable.
if (age > 18) {
println("You can obtain a driving licence")
} else {
println("You cannot obtain a driving licence")
}
This condition tests if the age is greater than 18.
Kotlin if else if
Multiple branches of conditions can be created with if else if syntax.
package com.zetcode
fun main() {
val a = 34
val b = 43
if (a == b) {
println("$a and $b are equal")
} else if (a < b) {
println("$a is less than $b")
} else {
println("$b is less than $a")
}
}
In the example, we use the if else if to determine if two values are equal or bigger/smaller.
Kotlin if expression
Kotlin's if is an expression, i.e. it returns a value.
package com.zetcode
fun main() {
val a = 34
val b = 43
val max = if (a > b) a else b
println("max of $a and $b is $max")
}
The example uses the if expression to return
the maximum of two values.
Kotlin when expression
Kotlin's when expression is used to evaluate multiple conditions.
It is a more powerful version of Java's switch statement.
The when keyword matches its argument against all branches
sequentially until some branch condition is satisfied. It can be used either as
an expression or as a statement.
package com.zetcode
import java.util.Random
fun main() {
val r:Int = Random().nextInt(10) - 5
when {
r < 0 -> println("negative value")
r == 0 -> println("zero")
r > 0 -> println("positive value")
}
}
In the example, we generate a random number. Based on the random value, we print a message to the console.
Kotlin while loop
The while keyword is used to create a loop. It runs until the given
condition is met.
package com.zetcode
fun main() {
var i:Int = 0
while(i < 10) {
i++
println("i is $i")
}
println(i)
}
The example uses a while loop to print values from one to ten.
while(i < 10) {
The while condition is running as longs as the i
variable is lower than ten.
Kotlin for loop
With the Kotlin's for loop, we can create loops that
are often more easier to create than with while.
package com.zetcode
fun main() {
val seasons = arrayOf("Spring", "Summer", "Autumn", "Winter")
for (season in seasons) {
println(season)
}
for (i in 1..15) println(i)
}
In the example, we use the for keyword to iterate over an array of
strings and a range of integers.
Source
Kotlin control flow - language reference
In this article we have covered control flow in Kotlin.
Author
List all Kotlin tutorials.