Kotlin while and do ... while Loop (с примери)

Цикълът се използва при програмиране за повтаряне на определен блок код. В тази статия ще се научите да създавате while и да правите … while цикли в програмирането на Kotlin.

Цикълът се използва при програмиране за повтаряне на определен блок код, докато се изпълни определено условие (тестовият израз е false).

Циклите са това, което прави компютрите интересни машини. Представете си, че трябва да отпечатате изречение 50 пъти на екрана си. Е, можете да го направите, като използвате изявление за печат 50 пъти (без да използвате цикли). Какво ще кажете да отпечатате изречение милион пъти? Трябва да използвате цикли.

Ще научите за два цикъла whileи do… whileв тази статия с помощта на примери.

Ако сте запознати с while и правите … while цикли в Java, вече сте запознати и с тези цикли в Kotlin.

Kotlin, докато Loop

Синтаксисът на whileцикъл е:

 while (testExpression) (// кодове вътре в тялото на цикъл while)

Как работи цикълът while?

Тестовият израз вътре в скобите е булев израз.

Ако тестовият израз е оценен на true,

  • се изпълняват инструкции в цикъла while.
  • след това тестовият израз се оценява отново.

Този процес продължава, докато тестовият израз не бъде оценен false.

Ако тестовият израз е оценен на false,

  • докато цикълът е прекратен.

Блок-схема на цикъл while

Пример: Kotlin while Loop

 // Програма за печат на ред 5 пъти fun main(args: Array) ( var i = 1 while (i <= 5) ( println("Line $i") ++i ) )

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

 Линия 1 Линия 2 Линия 3 Линия 4 Линия 5

Забележете, ++iизявление вътре в whileцикъла. След 5 повторения променливата i ще бъде увеличена до 6. След това тестовият израз i <= 5се оценява falseи цикълът се прекратява.

Ако тялото на цикъла има само един оператор, не е необходимо да използвате фигурни скоби ( ).

Пример: Изчисляване на сумата от естествени числа

 // Program to compute the sum of natural numbers from 1 to 100. fun main(args: Array) ( var sum = 0 var i = 100 while (i != 0) ( sum += i // sum = sum + i; --i ) println("sum = $sum") )

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

 сума = 5050

Тук променливата сума се инициализира до 0 и i се инициализира до 100. Във всяка итерация на цикъл while се присвоява променлива сума sum + iи стойността на i се намалява с 1, докато i е равно на 0. За по-добра визуализация

 1-ва итерация: сума = 0 + 100 = 100, i = 99 2-ра итерация: сума = 100 + 99 = 199, i = 98 3-та итерация: сума = 199 + 98 = 297, i = 97 … … 99-та итерация: сума = 5047 +2 = 5049, i = 1 100-та итерация: сума = 5049 + 1 = 5050, i = 0 (след това цикълът завършва)

За да научите повече за тестовия израз и как той се оценява, посетете сравнителни и логически оператори.

Котлин направи … докато Loop

На do… whileлиния е подобна на whileконтур с една ключова разлика. Тялото на do… whileцикъла се изпълнява веднъж, преди да се провери тестовият израз.

Синтаксисът му е:

 do (// кодове вътре в тялото на do while цикъл) while (testExpression);

Как … докато цикълът работи?

Кодовете в тялото на doконструкцията се изпълняват веднъж (без проверка на testExpression). След това се проверява тестовият израз.

Ако тестовият израз се изчислява true, се изпълняват кодове в тялото на цикъла и тестовият израз се оценява отново. Този процес продължава, докато тестовият израз не бъде оценен false.

Когато тестовият израз се оцени false, do… whileцикълът се прекратява.

Блок-схема на do … while Loop

Пример: Kotlin do … while Loop

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

За да се вземат данни от потребителя, readline()се използва функцията. Препоръчително четене: Kotlin Basic Input

 fun main(args: Array) ( var sum: Int = 0 var input: String do ( print("Enter an integer: ") input = readLine()!! sum += input.toInt() ) while (input != "0") println("sum = $sum") )

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

 Въведете цяло число: 4 Въведете цяло число: 3 Въведете цяло число: 2 Въведете цяло число: -6 Въведете цяло число: 0 сума = 3 

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