Программирование дротиков - циклы

Иногда некоторые инструкции требуют повторного выполнения. Циклы - идеальный способ сделать то же самое. Цикл представляет собой набор инструкций, которые необходимо повторить. В контексте цикла повторение называетсяiteration.

На следующем рисунке показана классификация петель -

Начнем обсуждение с определенных циклов. Цикл, количество итераций которого определено / фиксировано, называетсяdefinite loop.

Старший Нет Цикл и описание
1 для цикла

В forloop - это реализация определенного цикла. Цикл for выполняет блок кода указанное количество раз. Его можно использовать для перебора фиксированного набора значений, например массива

2 for… in Loop

Цикл for ... in используется для просмотра свойств объекта.

Двигаясь дальше, давайте теперь обсудим неопределенные циклы. Неопределенный цикл используется, когда количество итераций в цикле неопределенно или неизвестно. Неопределенные циклы могут быть реализованы с помощью -

Старший Нет Цикл и описание
1 пока цикл

Цикл while выполняет инструкции каждый раз, когда указанное условие оценивается как истинное. Другими словами, цикл оценивает условие до выполнения блока кода.

2 делать… while Loop

Цикл do… while аналогичен циклу while, за исключением того, что цикл do… while не оценивает условие при первом выполнении цикла.

Давайте теперь продолжим и обсудим Loop Control Statements дротика.

Старший Нет Положение и описание управления
1 заявление о прерывании

В breakОператор используется для вывода управления из конструкции. С помощьюbreakв цикле заставляет программу выйти из цикла. Ниже приводится примерbreak заявление.

2 продолжить заявление

В continue оператор пропускает последующие операторы в текущей итерации и возвращает управление в начало цикла.

Использование меток для управления потоком

А label- это просто идентификатор, за которым следует двоеточие (:), применяемый к оператору или блоку кода. Этикетку можно использовать сbreak а также continue для более точного управления потоком.

Разрывы строк между ‘continue’ или же ‘break’заявление и название его ярлыка. Кроме того, не должно быть никаких других операторов между именем метки и связанным циклом.

Пример: этикетка с разрывом

void main() { 
   outerloop: // This is the label name 
   
   for (var i = 0; i < 5; i++) { 
      print("Innerloop: ${i}"); 
      innerloop: 
      
      for (var j = 0; j < 5; j++) { 
         if (j > 3 ) break ; 
         
         // Quit the innermost loop 
         if (i == 2) break innerloop; 
         
         // Do the same thing 
         if (i == 4) break outerloop; 
         
         // Quit the outer loop 
         print("Innerloop: ${j}"); 
      } 
   } 
}

Продолжение output отображается при успешном выполнении вышеуказанного кода.

Innerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 2
Innerloop: 3
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 4

Пример: ярлык с продолжением

void main() { 
   outerloop: // This is the label name 
   
   for (var i = 0; i < 3; i++) { 
      print("Outerloop:${i}"); 
      
      for (var j = 0; j < 5; j++) { 
         if (j == 3){ 
            continue outerloop; 
         } 
         print("Innerloop:${j}"); 
      } 
   } 
}

Следующий вывод отображается при успешном выполнении вышеуказанного кода.

Outerloop: 0 
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 

Outerloop: 1 
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 

Outerloop: 2 
Innerloop: 0 
Innerloop: 1 
Innerloop: 2