V tomto kurzu se naučíte používat break k ukončení smyčky. Dozvíte se také o zlomení štítků.
Předpokládejme, že pracujete se smyčkami. Někdy je žádoucí smyčku okamžitě ukončit bez kontroly testovacího výrazu.
V takovém případě break
se používá. Když se setká, ukončí nejbližší uzavírací smyčku (bez kontroly testovacího výrazu). To je podobné tomu, jak funguje příkaz break v Javě.
Jak funguje zlom?
Téměř vždy se používá s konstrukcí if… else. Například,
pro (…) (if (testExpression) (break))
Pokud je testExpression vyhodnocen na true
, break
je proveden, čímž se for
smyčka ukončí .
Příklad: Kotlinův zlom
fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )
Když spustíte program, výstup bude:
1 2 3 4
Když je hodnota i rovna 5, je výraz i == 5
uvnitř if
vyhodnocen na true
a break
je proveden. Tím se ukončí smyčka for.
Příklad: Vypočítat součet, dokud uživatel nezadá 0
Níže uvedený program vypočítá součet čísel zadaných uživatelem, dokud uživatel nezadá 0.
Navštivte Kotlin Basic Input Output a dozvíte se více o tom, jak převzít vstup od uživatele.
fun main(args: Array) ( var sum = 0 var number: Int while (true) ( print("Enter a number: ") number = readLine()!!.toInt() if (number == 0) break sum += number ) print("sum = $sum") )
Když spustíte program, výstup bude:
Zadejte číslo: 4 Zadejte číslo: 12 Zadejte číslo: 6 Zadejte číslo: -9 Zadejte číslo: 0 součet = 13
Ve výše uvedeném programu je testovací výraz while
smyčky vždy true
.
Zde while
smyčka běží, dokud uživatel nezadá 0. Když uživatel zadá 0, break
provede se, čímž se while
smyčka ukončí .
Kotlin Označený zlom
To, co jste se dosud naučili, je neoznačená forma break
, která končí nejbližší uzavírací smyčku. Existuje další způsob, jak break
lze použít (označený formulář) k ukončení požadované smyčky (může to být vnější smyčka).
Jak funguje přestávka s označením?
Štítek v Kotlin začíná identifikátorem, za nímž následuje @
.
Zde test @ je štítek označený na vnější smyčce while. Nyní pomocí break
štítku ( break@test
v tomto případě) můžete prolomit konkrétní smyčku.
Zde je příklad:
fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@first ) ) )
Když spustíte program, výstup bude:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Zde, když i == 2
je výraz vyhodnocen na true
, break@first
je proveden, který ukončí smyčku označenou štítkem first@
.
Zde je malá variace výše uvedeného programu.
V níže uvedeném programu konec ukončí smyčku označenou štítkem @second.
fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@second ) ) )
Když spustíte program, výstup bude:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1 i = 3; j = 1 i = 3; j = 2 i = 4; j = 1 i = 4; j = 2
Poznámka: Vzhledem k tomu, že break
se v tomto programu používá k ukončení nejvnitřnější smyčky, není v tomto případě nutné používat označený konec.
K dispozici jsou 3 konstrukční výrazy skok v Kotlin: break
, continue
a return
. Chcete-li se dozvědět continue
a return
vyjádřit, navštivte:
- Kotlin pokračovat
- Funkce Kotlin