Основні апгоритмічні структури мови Java, страница 4

Тіло switch, відоме як блок перемикачів, містить набори інструкцій, яким передують мітки, що починаються з службового слова case. Кожній мітці caseставиться у відповідність ціла константа. Якщо значення цілочисельного виразу співпаде з зі значенням деякої мітки, управління буде передано першій інструкції, що йде після цієї мітки. Якщо спів падань не знайдено, виконуються інструкції блоку default. Якщо ж мітка defaultвідсутня, виконання switchзавершується. При передаванні управління відповідній мітці виконуються всі наступні за нею інструкції, навіть ті, що мають свої власні мітки case. Якщо треба вийти з блоку switch, треба використати інструкцію break.

5.whileта do... while. Синтаксис циклічної конструкції whileвиглядає так:

while (ЛогічнийВираз) Інструкція

Спочатку виконується перевірка значення логічного виразу. Якщо результат дорівнює true, виконується Інструкція (як інструкція може бути використаний блок), після чого логічний вираз перевіряється знов і процес повторюється до тих пір, поки в результаті перевірки не буде отримано значення false, - в цьому випадку управління буде передане першій інструкції коду, що іде за межами конструкції while.

Іноді виникає необхідність забезпечити циклічне виконання блоку інструкцій якнайменше один раз. З цією метою використовується конструкція do... while, синтаксис якої може бути описаний таким чином:

do

Інструкція while (ЛогічнийВираз)

В цьому випадку перевірка істинності логічного виразу виконується після виконання тіла циклу. Цикл повторюється до тих пір, поки в результаті перевірки виразу не буде отримане значення false. В якості тіла циклу do... whileнайчастіше використовується блок інструкцій.

6.   for. Вираз forзастосовується для організації циклічного переходу по значеннях із вказаного
діапазону і в загальному випадку виглядає таким чином:

for ( Секціяїніціалізаціі; ЛогічнийВираз; СекціяЗмін) Інструкція

Секція ініціалізації дозволяє ініціалізувати (можливо, з попереднім об'явленням) змінні циклу і виконується лише один раз. Логічний вираз піддається перевірці, та її результат, якщо він дорівнює true, дає підставу для виконання тіла циклу, після чого обчислюються вирази секції змін, і логічний вираз перевіряється у черговий раз. Цикл повторюється доти, поки результатом перевірки не стане значення false. Кожна з двох частин конструкції for- Секціяїніціалізації та СекціяЗмін - може бути

5


Об'єктно-орієнтоване програмування                                                                                                                                                    Java2

представлена списком виразів, відокремлених символом ","(кома)- Вирази у подібних списках обчислюються зліва направо.

Усі секції заголовка циклу forє необов'язковими. Якщо Секціяїніціалізації опускається, на її місці залишається лише символ крапки з комою. Якщо ж із заголовка виключається ЛогічнийВираз, то в якості логічної умови мається на увазі літерал true. Виключення усіх трьох секцій призводить до того, що цикл стає "нескінченим":

for(   ;   ;   )

Інструкція

Вихід з такого циклу повинен бути забезпечений за допомогою інших засобів, таких як команда break(її ми розглянемо далі) або інструкції викидання виключення.

Цикли for, у відповідності до прийнятої угоди, застосовуються тільки в тих випадках, коли необхідно забезпечити "проходження" по значеннях із визначених діапазонів. Якщо виразі ініціалізації та зміни змінних застосовуються не за призначенням і не пов'язані з логічною умовою циклу, подібні дії можна кваліфікувати не інакше як порушення угоди і ознака порочного стилю програмування.

7.   Мітки. Інструкції програми можуть бути позначені мітками (labels). Мітка являє собою
змістовне ім'я, що дозволяє посилатися на відповідну інструкцію:

Мітка: Інструкція

Звертатися до  мітки дозволено  тільки  за допомогою  команд breakта continue(вони розглядатимуться далі).