5.0 Pętle

Tutaj też ,specjalnie nie powinna zaskoczyć nas składnia ,gdyż jest zbliżona jak w języku Java .

5.1 Pętla for

Składnia jest następująca for([start];[warunek];[krok]){}
void main() {
//Ta pętla wykona się 10 razy 
  for(int a=0;a‹a++){
    print(a);
  }
 //Ta pętla zrobi dokładnie to samo
   for(var a=0;a‹10;a++){
    print(a);
  } 
  }

5.2 Pętla for each

W języku Dart mamy możliwość przechodzenia przez elementy naszej na przykład listy nie znając jej rozmiaru .Pętla sama inteligentnie zakończy się gdy napotka ostatni element . Podobnie zresztą jak w języku Java . for([Nasza Obiekt] in [Nazwa obiektu])
//Tworzymy elementy dopisując do naszej listy
  List‹String› list = new List‹String›();
    list.add('one');
    list.add('two');
    list.add('three');
//Wyświetlamy naszą listę   
  for(String a in list){
    print(a);
  } 
Wynik
one
two
three

5.3 Pętla While i do While

Dobrze nam znane bo takie same . Trzeba pamiętać ,że pętla do While wykona się przynajmniej raz . while([warunek]) lub do ... while([warunek])
void main() {

  int a=2;
  //Ta pętla się nie wykona ponieważ a=2 a nie 1
  while(a==1){
    print(a);
  }
  
  //Natomiast ta wyświetli wpierw 2 a później zakończy swoje działanie
  do{
     print(a);
  }
  while(a==1); 
}

5.4 Continue i break

Continue

Klauzula continue sprawi że pętla się nie przerwie lecz będzie się kontynuwać .
void main() {
//Pętla kontynuje wykonywanie pętli ,lecz pomija zawartą ponieżej treść 
 for(int a=0;a‹a++){
   //To zostanie pominięte  
   if(a==8){
     continue;
 //To się nigdy nie wykona   
     print(a);
   }else{
     print(a);
     continue;
//To się nigdy nie wykona      
     print(a);
   }
 }
}
        
Wynik
0
1
2
3
4
5
6
7
9
Jak widzisz 8 została pominięta.

Break

Klauzula Break przerwie działanie pętli

void main() {
 
 for(int a=0;a‹a++){
    if(a==2){
    //Przerwanie
      break;
    }else{
      print(a);
    }
 }
}
        
Wynik
0
1
        
Jak widzisz wykonały się 2 przypadki tylko ponieważ gdy program napotkał 2 to przerwał działanie pętli.

Dodawanie tytułów do pętli

void main() {
 //Tytuł pętli "label"
 nazwa1:for(int a=0;a‹a++){
 nazwa2:for(int b=0;b‹10;b++){
      if(b==4){
        print("a=$a b=$b");
         //Przerwanei  pętli o tytule  "nazwa1"
        break nazwa1;
      }
  
  }
 }
}
wynik
a=0 b=4