Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
52
ROZDZIAŁ5.INSTRUKCJESTERUJĄCEPRZEBIEGIEMPROGRAMU
Postaćinstrukcjiwyborujestnastępująca:
switch(wyrażenie){
casestała1:instrukcja1
casestała2:instrukcja2
...
default:instrukcja0
}
Każdazinstrukcjijestoznaczonajednąlubkilkomastałymi,lubwyrażeniami
ostałejwartości.Gdysprawdzanawartośćwyrażeniajestrównadanejetykiecie,
wykonywanajestodpowiadającajejinstrukcjaorazwszystkienastępująceinstruk-
cje(oileniezostanieużytainstrukcjabreak).Jeśliżadnazetykietnieodpowiada
obliczonejwartościwyrażenia,wykonywanajestinstrukcja0poetykieciedefault.
Etykietadefaultniejestobowiązkowamożesięniepojawićiwówczas,przy
brakuzgodności,niejestwykonywanażadnazinstrukcji.Kolejnośćetykiet,również
etykietydefault,niemaznaczenia,natomiastżadnazwartościprzyetykietach
niemożesiępowtarzać.
Bezpośredniewyjściezinstrukcjiswitchzapewniainstrukcjabreak.Jestona
najczęściejużywana,gdywykonaćmasiętylkojednainstrukcja,odpowiadająca
jednemuzprzypadków,aniewszystkienastępująceponiejinstrukcje.Postaćin-
strukcjijestwówczasnastępująca:
switch(wyrażenie){
casestała1:instrukcja1
break;
casestała2:instrukcja2
break;
...
default:instrukcja0
break;
}
Umieszczenieinstrukcjibreakpodefaultniejestbłędemskładni,choćinstruk-
cjataniemawówczasznaczenia.Zalecasięjednakjejpozostawienienawypadek
koniecznościdopisywaniakolejnychwarunkówcase.
Jeszczeraznależypodkreślić,żeinstrukcjaswitchdziaławyłącznienastałych
wyrażeniachzdziedzinyinteger.Maonazatemmniejszyzakreszastosowańniż
omówionywpoprzednimpodrozdzialeblokinstrukcjiif-else.Jednakzuwagina
lepszączytelnośćkoduoraznapotencjalnieszybszejegowykonywaniezalecasię
stosowaćzawsze,gdyjesttomożliwe.
5.4
Pętle
Pętląnazywasięzapiswyrażenia,którepowodujecykliczneprzetwarzanieinstrukcji
lubblokuinstrukcjiumieszczonychwewnętrzupętli.Powtarzaniejestkontynuowa-
netakdługo,wyrażeniekontrolnepętliosiągniewartośćrówną0.Wyjątkiemod
tejregułyjestjedynieużycieinstrukcjibreak(patrzpodrozdział5.5).