Заява про швидке продовження (з прикладами)

У цій статті ви навчитеся використовувати оператор continue для передачі управління програмою.

Поки ви працюєте з циклами або умовними операторами, вам може знадобитися пропустити деякі оператори всередині циклу або негайно завершити цикл, не перевіряючи тестовий вираз.

У таких випадках використовуються оператори break і continue. Відвідайте сторінку, щоб дізнатись більше про виписку про порушення

Оператор continue зупиняє виконання операторів усередині циклу або оператора switch. Потім він переходить назад, щоб знову оцінити тестовий вираз циклу.

Синтаксис оператора continue:

 продовжувати

Як працює оператор продовження?

Приклад 1: Оператор Swift continue у циклі for

 for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") ) 

Коли ви запускаєте програму, результат буде:

 i = 1 i = 2 i = 3 i = 5 

У вищезазначеній програмі ітерація послідовності становить діапазон від 1 до 5.

Значення i встановлюється для першого числа в діапазоні (1) і оновлюється до наступного числа діапазону на кожній ітерації.

Цикл також містить оператор if з виразом i == 4. Вираз, який оцінюється як істина (на 4-й ітерації), виконує continueоператор, пропускає виконання оператора print("i = (i)")і переходить до наступної ітерації (i = 5).

Приклад 2: Оператор Swift continue у циклі while

 var intialLevel:Int = -5, finalLevel:Int = 2 var currentLevel:Int = intialLevel while currentLevel < finalLevel ( if intialLevel < 0 ( print("Starting level must be positive") intialLevel = 0 currentLevel = intialLevel continue //skips the current execution ) currentLevel += 1 print("next level") ) print("outside of while loop") 

Коли ви запускаєте програму, результат буде:

 Початковий рівень повинен бути додатним наступним рівнем наступного рівня поза циклом while 

У наведеній вище програмі цикл while працює до тих пір, поки currentLevel не стане меншим за finalLevel. Оскільки intialLevel присвоюється значення -5 і менше 0, оператори всередині ifвиконуються.

Коли програма досягає continueоператора, вона пропускає оператори циклу while і переходить, щоб перевірити стан currentLevel < finalLevelще раз.

Приклад 3: Швидкий оператор продовження із вкладеними циклами

 for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") ) print("j = (j)") ) 

Коли ви запускаєте програму, результат буде:

 i = 1 i = 2 i = 3 i = 5 j = 1 i = 1 i = 2 i = 3 i = 5 

У наведеній вище програмі continueоператор усередині if i == 4пропускає виконання оператора print("i = (i)")всередині внутрішнього циклу for. Однак це не пропускає виконання зовнішнього циклу for i in 1… 5.

Але що, якщо ви також хочете до continueзовнішньої петлі. Для цього вам потрібно використовувати позначені оператори в Swift.

Позначена заявою з продовженням

Виписки, що мають префікси у формі (мітка: Statement), називаються міченими твердженнями. Мітка - це ідентифікатор, на який ви можете посилатись пізніше в операторах перерви або продовження. Щоб дізнатись більше про марковані висловлювання, відвідайте Swift із міченими висловлюваннями.

Як працює позначена заява з продовженням?

Тут мітка - це ідентифікатор. Коли continueоператор виконується, програма пропускає решту коефіцієнта всередині циклу і переходить до оператора, де починається мітка.

Приклад 4: Позначена заява з продовженням

 outerloop: for j in 1… 2 ( innerloop: for i in 1… 5 ( if i == 4 ( continue outerloop ) print("i = (i)") ) print("j = (j)") ) 

Коли ви запускаєте програму, результат буде:

 i = 1 i = 2 i = 3 i = 1 i = 2 i = 3 

У наведеній вище програмі є два позначені твердження outerloop: for j in 1… 2та innerloop: for i in 1… 5.

Назви міток externalloop і innerloop можуть використовуватися разом із continueтвердженням.

У програмі ми використовували оператор, continue outerloopщоб пропустити виконання операторів як у внутрішній, так і у зовнішній петлях. У процесі значення як i, так і j оновлюються до наступного числа в діапазоні.

Цікаві статті...