Програмування мовою Java (інформатика)

Тип: На вибір студента

Кафедра: інформаційних систем

Навчальний план

СеместрКредитиЗвітність
64Залік

Лабораторні

СеместрК-сть годинГрупаВикладач(і)
632ПМі-32доцент Бернакевич І. Є., доцент Вагін П. П.

Практичні

СеместрК-сть годинГрупаВикладач(і)
632ПМі-32доцент Бернакевич І. Є.

Опис курсу

Синтаксис мови Java

Основні лексеми мови Java. Огляд типів даних. Оператори управління, переходу та ітераційні.

Об’єктно-орієнтований підхід до створення Java-програм

Оголошення класів. Специфікатори доступу. Використання ключових слів this та super. Конструктори класів та метод finalize(). Внутрішні класи (класи-члени, локальні класи, анонімні класи). Похідні класи. Інтерфейси та їх використання. Особливості створення пакетів.

Обробка виняткових ситуацій

Основні принципи обробки виняткових ситуацій. Типи виняткових ситуацій. Генерація та перехоплення винятків. Стек викликів. Вбудовані виняткові ситуації. Створення власних класів виняткових ситуацій.

Зберігання даних (колекції, алгоритми, узагальнення)

Структура колекцій. Інтерфейси колекцій. Класи колекцій. Доступ до елементів колекцій через ітератор. Робота з картами. Компаратори. Основні алгоритми колекцій. Узагальнення. Використання шаблонних аргументів. Обмежені шаблони. Узагальнені класи, інтерфейси, методи. Ієрархії узагальнених типів. Обмеження шаблонів.

Багатопоточне програмування та утиліти паралельного програмування

Модель потоку Java і його властивості. Створення потоку. Тіло потоку та його стан (життєвий цикл потоку). Пріоритети потоків. Потоки-демони. Синхронізація та взаємне блокування. Використання об’єктів синхронізації (семафорів, циклічних бар’єрів). Блокувальники.

Потоки введення-виведення

Стандартні системні потоки введення-виведення. Потоки java.io та ієрархія потокових класів. Класи InputStream/OutputStream та їх методи. Файловий ввід-вивід. Фільтровані потоки (буферизований та типизований ввід-вивід). Потоки виведення на друк. Вийняткові ситуації при роботі з потоками.

Робота з графікою

Graphics 2D Графічний контекст пристрою. Використання примітивної графіки. Робота зі шрифтами (клас java.awt.Font та java.awt.FontMetrics). Загальні принципи рисування з використанням Graphics 2D. Інтерфейс Shape. Рисування прозорих форм. Стилі рисування. Використання локальних шрифтів. Створення пера та його харатеритсики. Перетворення координат (зсув, масштабування, поворот).

Обробка подій Java

Класи подій. Слухачі подій, їх методи та інтерфейси. Елементи пакету AWT та породжувані ними події.

Програмування інтерфейсу користувача за допомогою пакету AWT

Стандартні компоненти та контейнери. Менеджери розміщення. Створення вікна застосування за допомогою Frame. Побудова меню. Діалогові вікна. Використання діалогових вікон для доступу до локальної файлової системи.

Програмування інтерфейсу користувача за допомогою пакету Swing

Особливості Swing-компонентів. Архітектура MVC. Типи контейнерів. Прості компоненти (мітки, кнопки, прапорці, випадаючі списки та ін.). Іконки, підказки, рамки. Лінійні регулятори. Текстові компоненти. Побудова меню. Створення панелі інструментів. Розширені компоненти Swing (списки, дерева, таблиці). Використання моделі компонентів. Візуалізація компонентів. Обробка подій розширених компонентів.

Основи JDВC

Архітектура JDBC. Класифікація драйверів JDBC. Конфігурація JDBC-драйвера. З’єднання з БД та налаштування його властивостей. URL бази даних. Передача інструкцій SQL. Попередньо відкомпільовані інструкції (PreparedStatement). Набори результатів (ResultSet) та їх обробка. Обробка множинних результатів запиту. Отримання відомостей про набори результатів (ResultSetMeteData). Відповідність між типами SQL та Java. Метадані бази даних (DatabaseMeteData) i та їх використання Управління помилками та попередженнями.

Розширені засоби JDВC

Набори результатів із розширеними засобами перегляду. Оновлювані набори даних. Пакетні зміни в базі даних. Розширені типи даних. Збережені процедури (CallableStatement), їх створення та виконання. Параметри IN та OUT. Іменування бази даних за допомогою JNDI. Розподілені транзакції. Управління транзакціями. Режими транзакцій та рівні ізоляції транзакцій.