while og do-while: Når bør de brukes
Skriv while- og do-while-løkker, og forstå når de bør brukes.
while og do-while: Når bør de brukes er en gratis leksjon i Kotlin Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Kotlin Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Kotlin Academy inneholder totalt 4 leksjoner.
To typer while-løkker
Kotlin tilbyr både while (forhåndstest) og do-while (ettertest). Forskjellen er at do-while alltid kjører kroppen minst én gang.
Grunnleggende while-løkke
En while-løkke kontrollerer betingelsen før hver iterasjon. Hvis den er usann fra start, kjøres kroppen aldri.
fun main() {
var count = 0
while (count < 3) {
println("count = $count")
count++
}
}Grunnleggende do-while-løkke
En do-while-løkke kjører kroppen og kontrollerer deretter betingelsen. Kroppen kjøres alltid minst én gang.
fun main() {
var n = 10
do {
println("n = $n")
n--
} while (n > 7)
}Lesing til en sentinel-verdi
while-løkker er ideelle når du ikke vet hvor mange iterasjoner du trenger – for eksempel ved lesing til en sentinel-verdi.
fun main() {
val data = listOf(3, 7, 0, 9)
var i = 0
while (i < data.size && data[i] != 0) {
println("got ${data[i]}")
i++
}
println("stopped at index $i")
}Søke i en liste
Bruk while til søk med tidlig avslutning, der du stopper så snart en betingelse er oppfylt.
fun main() {
val nums = listOf(2, 4, 7, 8, 10)
var i = 0
while (i < nums.size && nums[i] % 2 == 0) i++
println("first odd at index $i = ${nums[i]}") // 2 = 7
}do-while for validering av inndata
Bruk do-while når du må utføre en handling (be om inndata, lese eller forsøke) før du kan kontrollere om den var vellykket.
fun main() {
val validInputs = listOf("y", "n", "y")
var idx = 0
var input: String
do {
input = validInputs[idx++]
println("user typed: $input")
} while (input != "n" && idx < validInputs.size)
}Teller med nedtelling
while-løkker håndterer tellere som reduseres til null på en ryddig måte.
fun main() {
var lives = 3
while (lives > 0) {
println("Lives left: $lives")
lives--
}
println("Game over")
}Uendelig løkke med break
Bruk while (true) med break for kode i stil med en hendelsesløkke der avslutningsbetingelsen er kompleks.
fun main() {
val items = listOf(1, 2, 3, -1, 4)
var i = 0
while (true) {
if (i >= items.size || items[i] < 0) break
println("ok: ${items[i]}")
i++
}
}Sammenligning av while og for
Hvis du kjenner iterasjonsantallet på forhånd, bør du foretrekke for. Bruk while når iterasjonene avhenger av tilstanden under kjøring.
fun main() {
// for: known bounds
for (i in 1..3) print("$i ")
println()
// while: state-driven
var n = 1
while (n <= 3) { print("$n "); n++ }
println()
}Løkke med to variabler
while-løkker kan holde oversikt over flere variabler, noe som er nyttig i algoritmer som Fibonacci.
fun main() {
var a = 0
var b = 1
while (b < 50) {
print("$b ")
val next = a + b
a = b
b = next
}
println() // 1 1 2 3 5 8 13 21 34
}do-while kjører alltid én gang
Selv om betingelsen er usann fra start, kjøres kroppen til do-while én gang. Noen ganger er dette akkurat det du ønsker – andre ganger er det en feil.
fun main() {
var x = 100
do {
println("x = $x") // prints once
x--
} while (x > 1000) // false immediately
}Kort sjekk
Hvilken løkke garanterer at kroppen kjøres minst én gang, uavhengig av betingelsen?
Oppsummering
Bruk while når iterasjonsantallet avhenger av en betingelse under kjøring. Bruk do-while når kroppen må kjøres minst én gang (for eksempel ved validering eller nytt forsøk). Foretrekk for hvis iterasjonsantallet er kjent.
Lær deg Kotlin med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 51
- Leksjoner
- 203
Ofte stilte spørsmål
Er leksjonen «while og do-while: Når bør de brukes» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Kotlin Academy, inkludert «while og do-while: Når bør de brukes», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Kotlin Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «while og do-while: Når bør de brukes»?
Skriv while- og do-while-løkker, og forstå når de bør brukes. Du øver på Kotlin Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Kotlin Academy?
Ingen tidligere erfaring er nødvendig. Kotlin Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «while og do-while: Når bør de brukes»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Kotlin Academy-leksjonen?
Ja. Alle Kotlin Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- for-løkker over områder og samlinger
- while og do-while: Når bør de brukes
- forEach, repeat og forEachIndexed
- break, continue og merkede returer