
- •1. Історія створення Java.
- •2. Історія розвитку Java
- •3.Опишіть поняття “об’єкт”
- •4. Опишіть поняття “клас”
- •5. Опишіть типи відношень між класами
- •6. Переваги і недоліки об’єкто-зорієнтованого програмування
- •7. Опишіть правила побудови ідентифікаторів мови Java, наведіть приклади
- •8. Поняття літералів. Приклади
- •9. Оператори та операції в мові Java
- •11. Типи даних у мові Java
- •12. Клас Object
- •13. Клас String
- •14. Клас Class
- •15. Імена в Java
- •16. Пакети в Java
- •17. Область видимості імен
- •18.Об’ява класів у Java
- •19.Приведення типів у Java
- •21.Приведення посилальних типів даних.
- •22.Приведення до рядка.
- •23.Заборонені приведення.
- •24.Застосування приведення типів.
- •25.Статичні елементи.
- •26. Ключові слова this і super.
- •27. Ключове слово abstract.
- •28. Поняття інтерфейсів.
- •29. Поліморфізм.
- •30. Масиви в Java.
- •31. Приведення типів для масивів.
- •32. Клонування масивів.
- •33. Керування ходом виконання програми.
- •34. Нормальне і перерване виконання операторів.
- •35. Блоки і локальні змінні.
- •36. Порожній оператор.
- •38. Синтаксис оператора if.
- •39. Синтаксис оператора switch.
- •40. Керування циклами.
- •41.Синтаксис оператора while
- •42.Ситаксис оператора do
- •43.Синтаксис оператора for
- •44.Оператори break I continue
- •45.Іменовані блоки
- •46. Оператор return
- •47. Оператор synchronized
- •48. Помилки при роботі програми. Виняткові ситуації
- •48. Помилки при роботі програми. Виняткові ситуації
- •49.Причини виникнення помилок
- •50.Обробки виняткових ситуацій
- •51.Конструкція try-catch-finally
- •52.Використання оператора throw
- •53.Виняткові ситуації, які перевіряються і які не перевіряються
- •54.Створення класів користувача обробки виняткових ситуацій
- •55.Поняття потокв в Java
- •56.Базові класи для роботи з потоками
- •57.Класс Thread
- •58. Інтерфейс Runnable
- •60. Потоки-демони
- •61.Синхронізація роботи потоків.
- •62.Класи обгортки для примітивних типів.
- •63.Клас Math.
- •66.Клас Calendar.
- •67.Клас TimeZone.
- •68. Колекції java
- •69.Інтерфейс Collection.
- •70.Інтерфейс Set.
- •71.Інтерфейс List.
- •72.Інтерфейс Map.
- •73.Інтерфейс SortedSet.
- •74.Інтерфейс SortedMap.
- •75.Інтерфейс Iterator.
- •76.Конкретні класи колекцій.
- •77.Клас Properties.
- •78. Інтерфейс Comparator.
- •79.Клас BitSet.
- •80.Клас Random.
- •81.Система введення/виведення. Потоки даних.
- •82.Класи реалізації потоків даних.
- •84. Робота із файловою системою.
- •59. Робота із пріоритетами потоків
44.Оператори break I continue
Оператор break в Java використовується в трьох випадках. По-перше , як ви вже бачили , він закінчує послідовність операторів в гілках оператора switch . По-друге , його можна використовувати для виходу з циклу. По-третє , він може застосовуватися як " цивілізована " форма оператора безумовного переходу goto . У цьому розділі пояснюються два останніх випадки .
Використання break для виходу з циклу
Використовуючи break , ви можете форсувати негайне завершення циклу , обходячи умовний вираз і будь який залишається код в тілі циклу . Коли оператор break зустрічається всередині циклу , другий закінчується і програмне керування передається оператору , наступному за ним.
Простий приклад:
/ / Використання break для виходу з циклу.
public class BreakLoop {
public static void main (String [] args ) {
for ( int i = 0 ; i < 100 ; i + +) { if ( i == 4 ) { break ; / / завершити цикл , якщо i = 4
} System.out.println ( " i : " + i ) ;} System.out.println ( "Цикл завершений. " ) ;} }
Ця програма генерує наступний висновок: i : 0 i : 1 i : 2 i : 3 Цикл завершений.
Хоча цикл for розроблений тут для виконання своїх операторів від 0 до 99 раз , оператор break змушує його завершитися раніше, коли i дорівнює 4.
Оператор break може використовуватися з будь-яким з циклів Java , включаючи навмисно нескінченні цикли . Наприклад , нижче показана попередня програма , закодована за допомогою циклу while . Висновок цієї програми такий же , як у її попередниці.
/ / Використання break для виходу з while - циклу.
public class BreakLoop2 { public static void main (String [] args ) { int i = 0 ; while ( i < 100 ) {
if ( i == 4 ) { break ; / / закінчити цикл , якщо i = 4 } System.out.println ( " i : " + i ) ;
i + + ;} System.out.println ( "Цикл завершений. " ) ;} } При використанні всередині набору вкладених циклів оператор break виходитиме тільки з самого внутрішнього циклу .
Наприклад :/ / Використання break у вкладених циклах.
public class BreakLoop3 { public static void main (String [] args ) { for ( int i = 0 ; i < 3 ; i + +) { System.out.print ( " Ітерація " + i + ":" ) ; for ( int j = 0 ; j < 10 ; j + +) { if ( j == 4 ) { break ; / / закінчити цикл , якщо j = 4 } System.out.print ( j + "" ) ;} System.out.println ( ) ;
} System.out.println ( "Цикл завершений. " ) ;} } Ця програма генерує наступний висновок: Ітерація 0 : 0 1 2 3 Ітерація 1 : 0 1 2 3 Ітерація 2 : 0 1 2 3 Цикл завершений. Як ви бачите , оператор break у внутрішньому циклі викликає завершення тільки цього циклу . Зовнішній цикл не зачіпається. Зробимо ще два зауваження щодо break . По-перше , в циклі може з'явитися кілька операторів break . Однак будьте обережні . Занадто велика їх кількість створює тенденцію до деструктуризации вашого коду . По-друге , break , який завершує оператор switch , впливає тільки на даний switch - оператор (але не на включають його цикли) .
Використання оператора continue
Іноді корисно почати чергову ітерацію циклу раніше. Тобто потрібно продовжити виконання циклу , але припинити обробку залишку коду в його тілі для даної приватної ітерації. Насправді це - goto - перехід повз наступних операцій тіла в кінець блоку циклу. Така дія виконує оператор continue . У циклах while і do while оператор continue викликає передачу управління безпосередньо умовного висловом , яке управляє циклом. У циклі for управління переходить спочатку до ітераційної частині оператора for і потім до умовного висловом . Для всіх трьох циклів будь-який проміжний код обходиться.
Приклад програми , яка використовує continue для друку двох чисел на кожному рядку , прівден нижче :/ / Демонструє continue .
public class Continue { public static void main (String [] args ) {
for ( int i = 0 ; i < 10 ; i + +) { System.out.print ( i + "" ) ; if ( i % 2 == 0 ) { continue ;} System.out.println ("") ;} }}
Цей код використовує операцію % (залишок по модулю ) , щоб перевіряти , чи є i парних . Якщо це так , цикл триває без печатки символу нового рядка ( newline ) . Виведення програми : 0 1 2 3
4 5 6 7 8 9 Як і в операторі break , в continue можна визначити мітку , яка вказує , якою включає цикл слід продовжити. Приклад програми , яка використовує continue для друку трикутної таблиці множення від 0 до 9. / / Використання continue з міткою . public class ContinueLabel { public static oid main (String [] args ) { outer : for ( int i = 0 ; i < 10 ; i + +) { for ( int j = 0 ; j < 10 ; j + +) { if ( j > i ) { System.out.println (); continue outer ;
} System.out.print ( " " + ( i * j )) ;} } System.out.println (); }}
У використанні continue корисний вкрай рідко. Одна з причин цього полягає в тому , що Java забезпечує багатий набір операторів циклу , які влаштовують більшість додатків. Однак , для тих спеціальних ситуацій , в яких необхідно дострокове припинення ітерації , оператор continue забезпечує структурний спосіб виконання цього завдання.