Базовий курс Java
38000,00 ₴
Код курса: JVFND
Тривалість: 45 годин / 15 занять
Телефонуйте зараз щоб дізнатися більше:

+38 098 805 4511
Про курс
Курс призначений для студентів, які хочуть навчитися програмувати на основі платформи Java Standard Edition. Ми навчимо Вас розробці та налагодженні аплікацій, познайомимо з основними елементами технології та конструкціями мови Java Standard Edition, основними архітектурними та проектировочними прийомами в рамках платформи. Ви навчитеся основам Web-програмування та дізнаєтеся про мережеві можливості Java. Під керівництвом викладача самостійно напишіть програмний проект та презентуєте його.
Після вивчення курсу Ви зможете:
- Розробляти, проводити налагодження програм та впроваджувати аплікації в рамках платформи JavaSE
- Використовувати основні елементи технології та конструкції мови JavaSE, архітектурні та проектувальні прийоми в рамках платформи
Програма курсу:
Загальна характеристика мови Java
- Історія мови Java. Байт-код. Віртуальна машина Java (JVM). Трансляція, інтерпретація та компіляція. JIT-компіляція. JDK та його структура. Команди JDK: javac, java, appletviewer, jar (en10). Їх використання та параметри. Пошук та завантаження класів. Створення та запуск першої програми на Java. Вихід із програми та завершення її роботи. Використання Eclipse та NetBeans IDE: створення та виконання прикладних програм.
Типи даних та основні операції з ними
- Алфавіту мови. Коментарі. Ключові слова. Прості (примітивні) типи даних. Ідентифікатори, вибір імен ідентифікаторів. Змінні та константи. Оголошення та ініціалізація змінних. Типи даних: прості та за посиланням. Область видимості та час життя змінних. Оператори. Операції: арифметичні, привласнення, відносини та логічні. Перетворення та приведення числових типів. Пріоритет операцій. Використання круглих дужок.
Потік керування
- Складовий оператор (блок). Умовний оператор та його види. Цикли: for, while, do while. Нескінченні цикли. Оператор switch. Переривання потоку керування, мітки. Оператор goto.
Масиви
- Оголошення та ініціалізація масивів, у т.ч. анонімні. Лінійні та багатовимірні масиви, «нерівні» масиви. Ітерація щодо елементів масиву. Масиви та присвоєння. Передача та повернення масивів в/з методів. Копіювання масивів. Клас Arrays: заповнення, порівняння елементів та їх сортування. Пошук у масивах. Параметри командного рядка. Методи: аргументи змінної довжини.
Введення в ОВП. Введення у UML.
- Об’єктна модель:
- Основні положення: абстрагування, інкапсуляція, модульність, ієрархія
- Об’єкти та класи:
- Об’єкти
- Визначення (з прикладами)
- Стан
- Поведінка
- Операції
- Ідентичність
- Інкапсуляція
- Класи та інтерфейси:
- UML. Нотація UML. Діаграми класів.
- Відношення між об’єктами
- Залежності, їх різновиди
- Резюме
- Асоціації
- Реалізації
- Зв’язки, їх множинність
Об’єкти та класи
- Класи. Поля та методи (визначення, синтаксис оголошення). Специфікатори доступу public і private
- Поля класів: ініціалізація явна та за замовчуванням, специфікатор final та константи. Доступ до полів та методів
- Методи: параметри (посилання та прості типи) та повертаються, використання setта get-методів, перезавантаження методів, правила перезавантаження, ключове слово strictfp
- Конструктори: конструктори за замовчуванням, виклик одного конструктора з іншого
- Блоки ініціалізації
- Статичні поля та методи: ініціалізація константи, статичні блоки ініціалізації. Використання цього для доступу до членів класу
- Збір сміття та видалення об’єктів
Спадкування та поліморфізм. Пакети.
- Спадкування та поліморфізм як інструмент створення ПЗ. Суперклас та підкласи, ставлення узагальнення, успадкування в Java. Виклик конструкторів суперкласів, порядок дзвінків. Ключове слово super()
- Перевизначення методів, правила перевизначення. Спадкування та статичні поля та методи класів. Абстрактні класи та методи – поняття, виклик конструкторів, реалізація методів у субкласи
- Інтерфейси. «Множинне» успадкування. Визначення та реалізація інтерфейсів. Розширення інтерфейсів. Композиція як альтернатива множинному успадкування
- Поліморфізм. Ієрархія наслідування
- Перетворення та приведення типів. Використання встановцівід. Відмова від успадкування: термінальні (final) методи та класи. Включення як альтернатива множинному успадкування
- Пакети. Вкладення пакетів. Повторне використання коду та пакети. Захист доступу. Імпорт: класів, статичних методів та полів
Клас Object
- Глобальний суперклас Object
- Методи equals(), hashCode(), toString(), finalize(), clone() та ін.
- Правила реалізації equals() та hashCode()
- Інтерфейс Cloneable та його реалізація
- Клонування: поверхневе та глибоке
Внутрішні класи Перелік
- Синтаксис оголошення
- Створення об’єктів внутрішніх класів
- Поля та методи внутрішніх класів
- Вкладення внутрішніх класів та доступ до членів зовнішніх класів
- Посилання це у внутрішньому класі
- Доступ до полів та методів зовнішнього класу з внутрішнього
- Внутрішні класи та специфікатори доступу
- Вкладені інтерфейси
- Застосування внутрішніх класів
- Внутрішні локальні класи (Method-LocalInnerClasses)
- Анонімні внутрішні класи
- Вкладені (внутрішні статичні) класи (статичні класи)
- Створення екземплярів
- Доступ до екземпляра зовнішнього класу
- Компіляція програм із внутрішніми класами
- Перелік. Перерахування як класи. Методи values(), valueof(), name(), ordinal(). Константи, конструктори, методи та поля
- Перерахування та конструкція switch. Імпорт членів перерахувань
Презентація програмного проекту.
- Клас String. Постійні об’єкти
- Зберігання рядків у пам’яті
- Основні операції класу String (створення, конкатенація, порівняння, пошук символів та підрядків у рядках та ін.). Перетворення найпростіших типів даних. Розбивка рядків: клас StringTokenizer. Змінні об’єкти: класи StringBuffer та StringBuilder
- Основні методи. StringBuffer vs StringBuilder
- Класи BigInteger та BigDecimal. Основні операції
- Документування коду
- Включення коментарів
- Документування пакетів
- Дескриптори загального призначення
- Коментарі до класів, методів та полів
- Використання javadoc
Обробка помилок та виключення
- Підходи до обробки помилок часу виконання
- Поняття виключення та виняткової ситуації
- Ієрархія класів виключень у Java
- Контрольовані (що перевіряються) та неконтрольовані (не перевіряються) винятки
- Генерація виняткової ситуації та оператор throw
- Оголошення контрольованих винятків, ключове слово throws
- throws та перезавантаження методів
- Перехоплення винятків
- Перехоплення «всіх» винятків
- Обробка винятків
- Повторна генерація винятків
- Блок finally: звільнення ресурсів
- Створення власної ієрархії винятків
- Реєстрація помилок, логування: логери, рівень логгер, рівень повідомлень, обробники (об’єкти підкласу java.util.logging.Handler)
- приклад
Рефлексія
- Основні можливості Reflection API
- Клас Class
- Використання Reflection API для отримання вказівників на функції
- Використання Reflection API для доступу до приватних членів
Система введення-виведення
- Потоки, ієрархія класів потокового введення-виведення: поняття потоку, потоки введення/виводу, механізм роботи з потоками, ієрархія потокового введення-виводу
- Субкласи FilterOutputStream та FilterInputStream
- Байтові потоки
- Символьні потоки
- Клас File. Клас RandomAccessFile
- Серіалізація та десеріалізація об’єктів: поняття, призначення, реалізація
- приклад
- Інтерфейс Externalizable
Універсальні типи. Класи колекцій
- Параметризовані типи: класи та інтерфейси. Параметри типу
- Обмеження накладені на параметризовані типи: прості типи, інстанціювання, суперклас, виняток. Параметризовані типи та JVM
- Поняття абстрактного типу даних (АТД)
- Структури даних: списки, стеки, множини, дерева, карти
- Обхід колекцій: інтерфейси Iteratorта та ListIterator, цикл «foreach»
- Компаратори
- Клас Collections: пошук та сортування елементів, заповнення, синхронізований уявлення, незмінні уявлення та ін.
Багатопоточність
- Концепція потоку. Стан потоку: створення потоків, -runnable і -runninig – потоки, waiting / blocked / sleeping-потоки, стан потоку dead
- Пріоритети потоків. Метод yield()
- Метод join(). Потоки-демони
- Синхронізація: синхронізація методів, синхронізаційні блоки. Отримання lock об’єкта та блокування. Взаємодія потоків (ThreadInteraction)
Робота з базами даних
- Основи побудови баз даних. Нормальні форми. Запити SELECT, INSERT, UPDATE, DELETE
- JDBC
- Driver, Connection, Statement, ResultSet. Пул з’єднань. Data Access Object
Робота з XML
- Знайомство з XML. Поняття формальної коректності та допустимості. Потоковий аналіз з урахуванням SAX. Аналіз на базі DOM. Генерація Java-класів за схемою
Нове в Java8
Мережеві можливості Java
- Клас URL. Клас URLConnection. Сокети
Технологія RMI
- Загальні уявлення про технології розподіленого програмування. Принципи організації RMI
Java Beans
- Поняття про Java Beans
- Проблема persistence. Збереження біна у XML-файлі
Основи веб-програмування
- Принципи клієнт-серверної взаємодії
- Поняття та життєвий цикл сервлету
- Організація JSP-сторінки
- Зумовлено змінні
- Взаємодія JSP і JavaBeans
- Передача даних між сторінками
- Область видимості бина
Інверсія управління в Java.
- Поняття Inversion of Control
- Характеристика SpringIOC
- Контрольний тест
Захист програмного проекту
Мінімальні вимоги до учасників
- Базові знання процедурного та об’єктно-орієнтованого програмування
Надіслати заявку
📩 info@sso.net.ua
☎️ 38 098 805 45 11
| ✉️ | 📅 | ☎️ | 🔝 |




