kotlin for loop

for loop kotlin

  for loops are similar to Java, but the syntax is different. Kotlin for loops are not expressions.

Kotlin for loops have this basic syntax:

for (e in elements) { // do something with e …}

For example, given a list:

val nums = listOf(1,2,3)

here’s a single-line algorithm:

for (n in nums) println(n)

The REPL shows how it works:

>>> for (n in nums) println(n)

1

2

3

You can also use multiple lines of code in your algorithm:

for (n in 1..3) {

println(n)

}

Here are a couple of other examples:

// directly on listOf

for (n in listOf(1,2,3)) println(n)

// 1..3 creates a range for (n in 1..3) println(n)

Using  for  with Maps

You can also use a for loop with a Kotlin Map (Like the hashmap in Java ). Here is a “Map” of movies and their ratings:

val ratings = mapOf(

“Mars” to 3.0, “Beautiful mind” to 4.0, “Interstellar” to 4.5

)

Given that map, you can print the movie names and ratings with this for loop:

for ((name,rating) in ratings) println(“Movie: $name, Rating: $rating”)

Here’s what that looks like in the REPL:

>>> for ((name,rating) in ratings) println(“Movie: $name, Rating: $rating”) Movie: Mars, Rating: 3.0

Movie: Beautiful mind, Rating: 4.0 Movie: Interstellar, Rating: 4.5

In this example, name corresponds to each key in the map, and rating is the name I assign for each value in the map

  for  is not an expression

We said previously that for is not an expression in opposite to Scala language. That means that code like this does not work:

// error

val x = for (n in 1..3) { return n * 2

}

Leave a Reply

Your email address will not be published. Required fields are marked *