0Pricing
Kotlin Academy · Ders

break, continue ve Etiketli Dönüşler

break/continue ile döngü akışını denetleyin ve etiketlerle iç içe döngülerden çıkın.

break, continue ve Etiketli Dönüşler, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.

Döngü Akış Denetimi

Kotlin, break (döngüden çıkma), continue (sonraki yinelemeye geçme) ve iç içe döngülerden çıkmak için etiketleri destekler.

break Temelleri

break, kendisini çevreleyen en içteki döngüden hemen çıkar.

fun main() {
    for (i in 1..10) {
        if (i == 5) break
        print("$i ")
    }
    println() // 1 2 3 4
}

continue Temelleri

continue, geçerli yinelemenin kalanını atlar ve bir sonrakine geçer.

fun main() {
    for (i in 1..10) {
        if (i % 2 == 0) continue
        print("$i ")
    }
    println() // 1 3 5 7 9
}

Etiketli Döngüler

Bir döngüyü label@ ile etiketleyin ve iç içe döngülerin içinden dış döngüleri denetlemek için ona break@label veya continue@label ile başvurun.

fun main() {
    outer@ for (i in 1..3) {
        for (j in 1..3) {
            if (i == 2 && j == 2) break@outer
            println("$i,$j")
        }
    }
}

Etiketle continue Kullanımı

Dış döngünün sonraki yinelemesine geçmek için continue@outer kullanın.

fun main() {
    outer@ for (i in 1..3) {
        for (j in 1..3) {
            if (j == 2) continue@outer
            println("i=$i j=$j")
        }
    }
}

return@lambda

forEach ve diğer satır içi işlevlerin içinde düz return, kendisini çevreleyen işlevden çıkar. Yalnızca lambdadan çıkmak için return@forEach kullanın.

fun main() {
    listOf(1, 2, 3, 4, 5).forEach {
        if (it == 3) return@forEach
        println(it)
    }
    println("Done")
}

Lambdalarda Yerel Olmayan return

Lambda satır içiyse (örneğin forEach gibi), düz return kendisini çevreleyen işlevin tamamından çıkar; bu bazen şaşırtıcı olabilir.

fun process() {
    listOf(1, 2, 3).forEach {
        if (it == 2) return // exits process()
        println(it)
    }
    println("never printed")
}
fun main() { process() }

Lambdada Özel Etiket

Daha anlaşılır bir dönüş hedefi için lambdayı name@ ile açıkça etiketleyebilirsiniz.

fun main() {
    listOf(1, 2, 3, 4).forEach loop@{
        if (it == 3) return@loop
        println(it)
    }
}

while İçinde break

break ve continue, while ve do-while içinde aynı şekilde çalışır.

fun main() {
    var i = 0
    while (true) {
        if (i >= 3) break
        println("i = $i")
        i++
    }
}

Etiket ve continue Birlikteliği

Etiketler ve continue, bayrak değişkenleri kullanmadan iç içe algoritmaların tüm yinelemelerini atlamanızı sağlar.

fun main() {
    val grid = listOf(listOf(1,2,0), listOf(3,4,5), listOf(0,6,7))
    rows@ for (row in grid) {
        for (cell in row) {
            if (cell == 0) continue@rows
            print("$cell ")
        }
        println()
    }
}

Etiketler Ne Zaman Kullanılmamalı

Etiketler karmaşıklık katar. Onlara sık sık başvurduğunuzu fark ederseniz iç döngüyü normal bir return kullanan ayrı bir işleve taşımayı düşünün.

fun firstMatch(grid: List<List<Int>>, target: Int): Pair<Int,Int>? {
    for (r in grid.indices) for (c in grid[r].indices) {
        if (grid[r][c] == target) return r to c
    }
    return null
}
fun main() {
    val g = listOf(listOf(1,2),listOf(3,4))
    println(firstMatch(g, 3))
}

Kısa Kontrol

Kotlin'de iç döngünün içinden dış döngüden nasıl çıkarsınız?

Özet

break en içteki döngüden çıkar; continue sonraki yinelemeye geçer. İç içe denetim için label@ + break@label/continue@label kullanın. Lambdalarda yerel olmayan çıkışlardan kaçınmak için return yerine return@forEach kullanmayı tercih edin.

Sıkça Sorulan Sorular

“break, continue ve Etiketli Dönüşler” dersi ücretsiz mi?

Evet — “break, continue ve Etiketli Dönüşler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.

“break, continue ve Etiketli Dönüşler” dersinde ne öğreneceğim?

break/continue ile döngü akışını denetleyin ve etiketlerle iç içe döngülerden çıkın. Kotlin Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Kotlin Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“break, continue ve Etiketli Dönüşler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Kotlin Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Aralıklar ve Koleksiyonlar Üzerinde for Döngüsü
  2. while ve do-while: Hangisi Ne Zaman Kullanılır
  3. forEach, repeat ve forEachIndexed
  4. break, continue ve Etiketli Dönüşler
← Kotlin Academy Sayfasına Dön