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

8.   break. Інструкція breakзастосовується для завершення виконання коду будь-якого блоку.
Існують дві форми інструкції - безіменна:

break;

та іменована: break мітка;

Безіменна команда breakперериває виконання коду конструкцій switch, for, while або do і може використовуватися лише всередині цих конструкцій. Команда breakу іменованій формі може перервати виконання будь-якої інструкції, що помічена відповідною міткою.

Команда breakнайчастіше використовується для примусового виходу з тіла циклу. А для виходу із вкладеного циклу чи блоку, достатньо позначити міткою зовнішній блок і вказати її в інструкції breakяк показано в наступному прикладі: Приклад 2.9.  Використання поміченого break private  float[][]   matrix;

public boolean workOnFlag(float flag) { int y, x;

boolean found = falser-search: for (y = 0; у < matrix.length; y++) {

for (x = 0; x < matrix[y].length; x++) { if (matrix[y][x] == flag) { found = true; break search; } } } if (!found) {

returnfalse;

}

// Атутзнайденезначенняmatrix[у][x] // деякимчиномобробляється returntrue; }

Відмітимо, що іменована інструкція break- це зовсім не те ж саме, що й сумнозвісна команда goto. Інструкція gotoдозволяє "стрибати" по коду без жодних обмежень, переплутуючи порядок обчислень і збиваючи читача з глузду. Команди же breakі continue, що посилаються на мітку, дозволяють лише акуратно залишити відповідний блок і забезпечити його повторення, при цьому потік обчислень залишається цілком очевидним.

6


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

9.    continue. Команда continueзастосовується лише у контексті циклічних конструкцій і передає
управління на кінець тіла циклу. В ситуації з whileі doце призводить до виконання перевірки
умови  циклу,  а при  використанні  в тілі  forінструкція continueпровокує передавання
управління секції змін значень змінних циклу.

Як і break, команда continueдозволяє використання в двох формах - без імені: continue; і іменованій: continueмітка. Команда continueу формі без імені мітки передає управління в кінець поточного циклу, а іменована - в кінець циклу, позначеного відповідною міткою. Мітка повинна відноситися до циклічного виразу.

10.  return. Інструкція returnзавершує виконання методу і передає управління до коду-ініціатору.
Якщо метод не повертає значень, інструкція виглядає просто: return. Якщо ж в оголошенні
методу вказано тип параметра, що повертається, до складу команди returnповинен бути
включеним вираз, який може бути присвоєний змінній оголошеного типу. Наприклад, якщо
метод повертає значення типу double, в інструкції returnдозволяється використовувати
вирази, що відносяться до типів double, floatабо будь-якого цілих типів.

11. goto. У мові Java НЕМАЄ інструкції goto, що має змогу передавати управління довільному
фрагменту коду, хоча у споріднених мовах аналогічні засоби передбачені. Всі засоби, що були
розглянуті раніше, дозволяють створювати зрозумілий і надійний код, а також обходитися без
допомоги goto.

12.  Для обробки виключень, тобто ситуацій, що могли б привести до краху програми (наприклад,
ділення      на      нуль,      помилка      введення-виведення)      використовують      конструкцію
try...catch...finally... Обробка виключень у Java спирається в основному, на конструкції C++
(хоча ідейно більше схожа на Object Pascal). У місці, де виникла проблема, ви, можливо, ще не
знаєте що з нею робити, проте знаєте, що просто ігнорувати її не можна - треба зупинитись і
передати управління блоку обробки.

try {

// Небезпечна діяльність, що може викликати

// виключення А, В або С } catch (A al) {

// Оброблювач для випадку А } catch (В bl) {

// Оброблювач для випадку В } catch (C сі) {

// Оброблювач для випадку С } finally {

// Дії, що виконуються у будь-якому випадку }