Kotlin: Цикли For-loop 🔄 (основи програмування)

Alexander Khyzhun
3 min readSep 7, 2022

--

Одне з найпопулярнішого, що можна робити з колекціями і масивами — про проходитись по ним з циклом і робити щось для кожного елемента. Але що таке цикли? як вони працюють? як їх використовувати? Все це і трохи більше розберемо сьогодні в відео-урокі 😉

Весь матеріал ви можете знайти переглянувши відео, але стислий конспект я залишу і тут.

Kotlin For Loop

Often when you work with arrays, you need to loop through all of the elements.

To loop through array elements, use the for loop together with the in operator:

val cars = arrayOf(“Volvo”, “BMW”, “Ford”, “Mazda”)
for (x in cars) {
println(x)
}

You can loop through all kinds of arrays. In the example above, we used an array of strings.

In the example below, we loop through an array of integers:

val nums = arrayOf(1, 5, 10, 15, 20)
for (x in nums) {
println(x)
}

Kotlin Ranges

With the for loop, you can also create ranges of values with “..”:

for (chars in ‘a’..’x’) {
println(chars)
}

Доречі, зверніть увагу, що Kotlin сам знає, які букви будуть між “A” та “X” ✨

You can also create ranges of numbers:

for (nums in 5..15) {
println(nums)
}

Якщо ви хочете 🛡безпечно🛡 проходитись циклом по якимось значення, то викорстовуйте ключеві слова until та downTo:

  • until — для ітерацій від меншого до більшого значення
  • for (x in 0 until 10) {
    println(x)
    }
  • результат: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • ☝🏻 Зверніть увагу, що until це аналог символа < (менше), але не <= (менше або дорівнює)
  • downTo — для ітераціям від більшого до меншого значення
  • for (x in 10 downTo 0) {
    println(x)
    }
  • результат: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
  • ☝🏻 Зверніть увагу, що downTo це аналог символа >= (більше або дорівнює), але не просто > (більше)

Також часто бувають ситуації, коли треба порходиться не по кожному елементу, а, наприклад, по кожному другому. Для цього в Kotlin-і існує ключеме слово step x:

for (x in 0 until 10 step 2) {
println(x)
}
результат: 0, 2, 4, 6, 8 (без 10)

for (x in 10 downTo 0 step 2) {
println(x)
}
результат: 10, 8, 6, 4, 2, 0

Returns and jumps

Kotlin has three structural jump expressions:

  • return by default returns from the nearest enclosing function or anonymous function.
  • break terminates the nearest enclosing loop.
  • continue proceeds to the next step of the nearest enclosing loop.

Break and continue labels

Any expression in Kotlin may be marked with a label. Labels have the form of an identifier followed by the @ sign, such as abc@ or fooBar@.

To label an expression, just add a label in front of it.

loop@ for (i in 1..100) {
// …
}

A break qualified with a label jumps to the execution point right after the loop marked with that label.
A continue proceeds to the next iteration of that loop.

🎬 Ось мій канал, де будуть всі відео на різні теми в програмуванні:

📚 Ось мій Patreon, де будуть всі матеріали в текстовому форматі, додаткова інфа, розбір приклдів, домашні завдання, ІТ-словник, і тд:

Окрім цього, там є різні пропозиції, наприклад, можемо займатись 1х1, можу допомогти зробити резюме, проведу співбесіду і так далі.

🎬 Весь контент, який я роблю — це все мій особистий досвід.
Я пишу/знімаю все сам і ділюсь з вами корисною інформацією, яку ніхто не розповідає, тому підтримайте підпискою ❤️

🙂 На цьому у мене — все!
👉🏻 Ставте лексуси, підписуйтесь і будьте умнічками.

Якщо я правий — похваліть, якщо ні — посваріть.
Но в любому випадку не забудьте дати фідбек 😉

Успіхів! 🇺🇦🦄

ios, android, it, programming, software, engineer, инженер, базы данных, database, code, backend, frontend, webdevelopment, scrum, jira, HR, recruiter, coding, flutter, react, html, css, angular, kotlin, java, python, php, c++, c#, swift, reactnative, mobile, vlog, tutorials, how to, git, QA, BA, алгоритмы, скрам, джира, айти, робота, іт, програмування, алгоритми, розробка, інженерія, фронтенд, бекенд, андроїд, дизайн, кодити, кодінг, флатер, котлін, джава, уроки, навчання, менеджмент
image for preview

--

--

Alexander Khyzhun
Alexander Khyzhun

Written by Alexander Khyzhun

🧙🏻‍♂️ Software Wizard 🎬 Tech blogger 🎌 JDM 🎷 Lofi artist 🏊🏻‍♂️ Swimmer

No responses yet