Kotlin break (с примери)

В този урок ще се научите да използвате break за прекратяване на цикъл. Също така ще научите и за етикетите за прекъсване.

Да предположим, че работите с цикли. Понякога е желателно да прекратите цикъла незабавно, без да проверявате тестовия израз.

В такъв случай breakсе използва. Той прекратява най-близкия затварящ цикъл, когато се срещне (без проверка на тестовия израз). Това е подобно на това как изразът break работи в Java.

Как работи почивката?

Почти винаги се използва с if … else конструкция. Например,

 за (…) (ако (testExpression) (прекъсване))

Ако testExpression се оцени на true, breakсе изпълнява, което прекратява forцикъла.

Пример: Kotlin почивка

 fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )

Когато стартирате програмата, изходът ще бъде:

 1 2 3 4 

Когато стойността на i е равна на 5, изразът i == 5вътре ifсе изчислява trueи breakсе изпълнява. Това прекратява цикъла for.

Пример: Изчисляване на сумата, докато потребителят не въведе 0

Програмата по-долу изчислява сумата от числа, въведени от потребителя, докато потребителят не въведе 0.

Посетете Kotlin Basic Input Output, за да научите повече за това как да вземете вход от потребителя.

 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") )

Когато стартирате програмата, изходът ще бъде:

 Въведете число: 4 Въведете число: 12 Въведете число: 6 Въведете число: -9 Въведете число: 0 сума = 13

В горната програма тестовият израз на whileцикъла е винаги true.

Тук whileцикълът работи, докато потребителят не въведе 0. Когато потребителят въведе 0, breakсе изпълнява, което прекратява whileцикъла.

Котлин Етикетирана почивка

Това, което сте научили досега, е немаркирана форма break, която прекратява най-близкия заграждащ цикъл. Има и друг начин, който breakможе да се използва (етикетирана форма) за прекратяване на желания цикъл (може да бъде външен цикъл).

Как работи етикетираната почивка?

Етикетът в Kotlin започва с идентификатор, който е последван от @.

Тук test @ е етикет, маркиран във външния цикъл while. Сега, като използвате breakс етикет ( break@testв този случай), можете да прекъснете конкретния цикъл.

Ето пример:

 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 ) ) )

Когато стартирате програмата, изходът ще бъде:

i = 1; j = 1 i = 1; j = 2 i = 2; j = 1

Тук, когато i == 2изразът се оценява на true, break@firstсе изпълнява, което прекратява цикъла, маркиран с етикет first@.

Ето малка вариация на горната програма.

В програмата по-долу прекъсването прекратява цикъла, маркиран с етикет @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 ) ) ) 

Когато стартирате програмата, изходът ще бъде:

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

Забележка: Тъй като breakсе използва за прекратяване на най-вътрешния цикъл в тази програма, не е необходимо да се използва етикет break в този случай.

Има 3 структурни скок изрази в Kotlin: break, continueи return. За да научите за continueи returnизразяване, посетете:

  • Котлин продължава
  • Функция Kotlin

Интересни статии...