5.0 Pętle
Tutaj też ,specjalnie nie powinna zaskoczyć nas składnia ,gdyż jest zbliżona jak w języku Java .
- Pętla for
- Pętla for each
- Pętla while
- Pętla do While
5.1 Pętla for
Składnia jest następującafor([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 9Jak 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