"Cześć, Amigo!"
„Dzisiaj opowiem o kilku rzeczach, które są wygodne podczas pracy z pętlami.”
„Pierwszym jest słowo kluczowe break . Jeśli użyjesz tego polecenia w treści pętli, pętla zakończy się natychmiast po wykonaniu polecenia. Oto przykład:”
Przykład | Wyjście: |
---|---|
|
0 1 2 3 4 5 |
„Czy przerwa może być używana tylko w pętli?”
„Tak. Instrukcja break może być użyta tylko w pętli. Kiedy instrukcja break jest wykonywana, pętla natychmiast się kończy.”
"Ok, rozumiem."
„Świetnie. Drugą rzeczą, którą chcę się podzielić, jest słowo kluczowe continue. Można go również używać tylko w pętli. Po wykonaniu tego polecenia natychmiast rozpoczyna się nowa iteracja pętli. Innymi słowy, wszelki pozostały kod w ciało pętli jest po prostu pomijane."
„Oto przykład:”
Przykład | Wyjście: |
---|---|
|
1 3 5 7 9 |
„Więc kiedy program osiągnie polecenie Kontynuuj w pętli, przestaje wykonywać kod w pętli?”
„Nie. Spójrz, mamy pętlę, gdy wykonujemy ten sam kod kilka razy. W powyższym przykładzie mamy pętlę od 0 do 9, czyli treść pętli zostanie wykonana 10 razy. Prawda?”
"Tak."
„Jedno przejście przez treść pętli nazywa się iteracją. Nasza pętla składa się z 10 iteracji — treść pętli zostanie wykonana dziesięć razy”.
— Tak, to jasne.
„ Polecenie Kontynuuj przedwcześnie kończy bieżącą iterację, tj. wszelki pozostały kod wewnątrz pętli jest pomijany i rozpoczyna się nowa iteracja”.
„Oto kolejny przykład:”
ArrayList list = new ArrayList();
for (Object o: list)
{
if (o == null) continue;
System.out.println(o.toString());
}
„W tym przykładzie wyświetlamy reprezentację łańcuchową wszystkich obiektów na liście. Ale pomijamy obiekty, które są puste”.
„OK, rozumiem. Widzę, jakie to wygodne”.
„Tak. Chcę też opowiedzieć o etykietach. W Javie są one rzadko używane, ponieważ często naruszają piękno logiki programu. Ale w pewnym momencie możesz się z nimi spotkać w kodzie. Wolę więc opowiedzieć o niż słyszałeś o nich na placu zabaw”.
„Dawno, dawno temu można było przeskakiwać z dowolnej linii do dowolnej linii w kodzie. Zrobiliśmy to za pomocą etykiet i instrukcji goto. Oto jak to wygląda:”
System.out.println("Make cookies,");
label: System.out.println("not");
System.out.println("war");
goto label;
„W tym przykładzie po wykonaniu polecenia goto label program przeskakuje do wiersza oznaczonego label .
„Później wszyscy zmądrzeli i postanowili nie używać instrukcji goto . Java nie obsługuje goto, ale goto jest słowem zastrzeżonym. Nic wielkiego…”
„Więc bez goto i bez etykiet w Javie?”
„Nie ma instrukcji goto, ale są etykiety!”
"Jak to możliwe?"
„W Javie etykiety mogą być używane z poleceniami continue i break. Są one używane, gdy masz wiele zagnieżdżonych pętli”.
„Załóżmy na przykład, że masz 5 zagnieżdżonych pętli i gdy spełniony jest jakiś warunek, chcesz wyjść z trzech z nich, ale nie ze wszystkich. Etykiety to elegancki sposób na zrobienie tego:”
label1: for (int i = 0; i < 10; i++)
label2: for (int j = 0; j < 10; j++)
label3: for (int k =0; k < 10; k++)
if (i == j && j == k)
break label2;
„W tym przykładzie, gdy wykonywana jest instrukcja break, wychodzimy nie z pętli ze zmienną k, ale z pętli oznaczonej etykietą2 – tj. natychmiast wychodzimy z dwóch pętli za pomocą k i j”.
„Jak często się to stosuje?”
„Szczerze mówiąc, niezbyt często, ale nigdy nie wiadomo. Może kiedyś to zobaczysz. To są podstawy składni — musisz to wszystko wiedzieć!”
„OK. Dziękuję, Bilaabo”.
GO TO FULL VERSION