Ілюстрований самовчитель із програмування мобільних телефонів › Додаток 1
Умовні оператори. Керуючий оператор.
Коли ми створювали та використовували класRunTelefon, з методомmain (), я говорив, що програма виконує прописаний код рядок за рядком і це дійсно так. У невеликих програмах, таких, як ми створили, цього цілком достатньо, але у справді величезних програмах такий підхід не є логічним. Не можна "стрибати" за програмою, треба йти від рядка до рядка. Але якщо все ж таки потрібно перейти в програмі до якогось методу або місця програми, що тоді? Для цього в мові Java є умовні оператори.
Розглянемо ситуацію, яка наочно пояснить сенс операторів. Допустимо, ви вдома, у вас немає хліба і треба збігати в булочну за рогом. Перш ніж йти в булочну, ви обов'язково перевірите, чи є у вас гроші на покупку хліба і тільки потім вирушите в магазин за хлібом. Тут має місце передумова наявності грошей, виконання якого призводить до походу за хлібом, або до сусіда за грошима.
У тому випадку, якщо не розглядати цю передумову, то ви вийшли б і пішли в магазин, а вже прийшовши, стали б шукати по кишенях. Ось для цього існують умовні оператори. У мові Java є кілька умовних операторів. Перший з них:if /else - являє собою таку здвоєну конструкцію. Синтаксичний шаблон умовного оператораif /else виглядає так:
Перекладаючи цю конструкцію українською мовою, можна сказати: якщо(if) якась умова вірна, то перейти до дії №1, а інакше (else ) виконати дію №2. Така здвоєна конструкціяif /else може бути не обов'язковою, іноді достатньо лише запису оператораif. Можна використовувати вкладені операториif /else, наприклад:
Тут перевіряється перша умоваі якщо воно вірне, то відбувається перехід до наступного оператораif, якщо і ця умова правильна, то виконуються дії і в другому, і в першому умовному операторі. Якщо ж умова у другому операторіif не вірна, то виконуються дії лише першого оператораif. Умовні оператори в програмуванні Java використовуються постійно і важливо розуміти їх загальний принцип роботи.
Керуючий оператор
У мові Java існує керуючий операторswitch, який можна віднести до умовним операторам. Він також заснований на певних умовах, але надає багатоваріантне розгалуження для вибору шляху заданих процесів.
Подивіться на синтаксичний шаблон цього оператора:
Вся конструкція оператораswitch заснована на міткахcase, що мають цілі значення. Коли умова, що перевіряється операторомswitch збігається з одним із значень міткиcase, то наступні за міткою дії будуть виконані. Якщо жодна з умов не співпала з міткоюcase, то будуть виконані дії, що йдуть за міткоюdefault. Операторbreak, що використовується в кінці всіх дій для кожної мітки, дуже важливий.
Коли умова співпаде з однією з міток і почнеться виконання зазначених дій для цієї мітки, то вихідною точкою є операторbreak. Якщо ви випадково забудете поставити операторbreak, то ваша програма почне виконувати наступну мітку, звівши тим самим ваші зусилля щодо вибору заданих дій на нуль. Ніколи не забувайте ставити операторbreak для кожної з міток!