
- •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. Робота із пріоритетами потоків
32. Клонування масивів.
Стандартна бібліотека Java містить статичний метод System.arraycopy ( ) , який копіює масиви значніше швидше, ніж при ручному копіюванні в циклі for .
В аргументах arraycopy ( ) передається вихідний масив , початкова позиція копіювання у вихідному масиві , приймальний масив , початкова позиція копіювання в приймальному масиві і кількість копійованих елементів . Будь-яке порушення меж масиву призведе до виключення .
Один масив можна скопіювати в інший, але при цьому обидві змінні будуть посилатися на один і той же масив.
int [] luckyNumbers = smailPrimes ;
luckyNuimbers [ 5 ] = 12 ; / / Тепер елемент smailPrimes [ 5 ] також дорівнює 12 .
Якщо необхідно скопіювати всі елементи одного масиву в інший, слід використовувати метод arraycopy з класу System. Його виклик виглядає наступним чином:
System.arraycopy ( from , fromlndex , to , tolndex , count ) ;
Масив to повинен мати достатній розмір , щоб у ньому помістилися всі копійовані елементи .
Масив у мові Java значно відрізняється від масиву в мові C + + . Однак він практично збігається з покажчиком на динамічний масив . Це означає , що оператор
int [] a = new int [ 100 ] ; / / Java
еквівалентний оператору
int * = new int [1+0+0] ; / / C + + ,
а не
int a [ 100 ] ; / / C + +
У мові Java оператор [] no замовчуванням перевіряє діапазон зміни індексів. Крім того , в мові Java немає арифметики покажчиків - не можна збільшити покажчик а , щоб звернутися до наступного елементу масиву.
33. Керування ходом виконання програми.
Управління потоком обчислень є фундаментальною основою всієї мови програмування. У цьому розділі будуть розглянуті основні мовні конструкції і способи їх застосування. Синтаксис виразів досить схожий з синтаксисом мови С, що полегшує його розуміння для програмістів знайомих з цією мовою, разом з тим є ряд відмінностей, які будуть розглянуті пізніше і на які слід звернути увагу. Порядок виконання програми визначається операторами. Оператори можуть містити в собі інші оператори або виразу.
34. Нормальне і перерване виконання операторів.
Послідовність виконання операторів може бути безперервною, а може і перериватися (при виникненні певних умов). Виконання оператора може бути перервано, якщо в потоці обчислень будуть виявлені оператори brake, continue, return, то управління буде передано в інше місце (відповідно до правил обробки цих операторів , які будуть розглянуті пізніше). Нормальне виконання оператора може бути перервано, так само , при виникненні виняткових ситуацій . Які так само будуть розглянуті пізніше. Явна збудження виняткової ситуації за допомогою оператора throw, так само перериває нормальне виконання оператора, і передає управління виконанням програми (далі просто управління) в інше місце. Переривання нормального виконання завжди викликається певною причиною .
Наведемо список таких причин
• break (без вказівки мітки)
• break (із зазначенням мітки)
• continue (без вказівки мітки)
• continue (із зазначенням мітки)
• return ( з поверненням значення)
• return ( без повернення значення)
• throw із зазначенням об'єкта Exception , а так само всі виключення порушувані віртуальною машиною Java.
Вирази так само можуть завершуватися нормально і передчасно (аварійно ) . У даному випадку термін аварійно цілком застосовний , тому що причиною послідовності виконання вираження відмінної від нормальної може бути тільки виникнення виняткової ситуації .
Якщо в операторі міститься вираз, то в разі його аварійного завершення, виконання оператора теж буде завершено передчасно. (тобто нормальний хід виконання оператора буде порушено). У разі якщо в операторі мається вкладений оператор, і відбувається ненормальне його
завершення, то так само не нормально завершується оператора містить вкладений (в деяких випадках це не так, але буде обумовлюватися особливо)