Базовий курс Java

38000,00 

Код курса: JVFND
Тривалість: 45 годин / 15 занять

Дивіться розклад


Телефонуйте зараз щоб дізнатися більше:

Телефон
+38 098 805 4511

Артикул: JVFND Категорія:

Про курс

Курс призначений для студентів, які хочуть навчитися програмувати на основі платформи Java Standard Edition. Ми навчимо Вас розробці та налагодженні аплікацій, познайомимо з основними елементами технології та конструкціями мови Java Standard Edition, основними архітектурними та проектировочними прийомами в рамках платформи. Ви навчитеся основам Web-програмування та дізнаєтеся про мережеві можливості Java. Під керівництвом викладача самостійно напишіть програмний проект та презентуєте його.


Аудиторія

  • початківцям у Java-розробці;
  • розробникам із базовими знаннями програмування, які хочуть опанувати Java SE;
  • фахівцям, які планують працювати з об’єктно-орієнтованим програмуванням;
  • майбутнім backend-розробникам і Java Developers;
  • тим, хто хоче створити власний навчальний проєкт на Java.

Чого навчаться учасники

Після завершення курсу учасники зможуть:

  • писати, запускати та налагоджувати програми мовою Java;
  • працювати з типами даних, операторами, умовами, циклами та масивами;
  • застосовувати принципи ООП, успадкування, поліморфізму та інкапсуляції;
  • створювати класи, інтерфейси, пакети, внутрішні класи та перерахування;
  • працювати з винятками, колекціями, generics і багатопотоковістю;
  • використовувати Reflection API та засоби введення-виведення;
  • підключатися до баз даних за допомогою JDBC;
  • працювати з XML, мережевими можливостями Java та RMI;
  • розуміти основи сервлетів, JSP, JavaBeans і Spring IoC;
  • розробити та презентувати власний програмний проєкт.

Попередні вимоги

Для ефективного навчання учасникам необхідно:

  • мати базові знання процедурного програмування;
  • розуміти основні принципи об’єктно-орієнтованого програмування;
  • впевнено користуватися персональним комп’ютером;
  • бути готовими регулярно виконувати практичні завдання.

Попередній досвід програмування мовою Java не є обов’язковим.

Рівень курсу

Основний


Дивіться розклад

Програма курсу

Загальна характеристика мови Java

  • Історія мови Java. Байт-код. Віртуальна машина Java (JVM). Трансляція, інтерпретація та компіляція. JIT-компіляція. JDK та його структура. Команди JDK: javac, java, appletviewer, jar (en10). Їх використання та параметри. Пошук та завантаження класів. Створення та запуск першої програми на Java. Вихід із програми та завершення її роботи. Використання Eclipse та NetBeans IDE: створення та виконання Прикладних програм.

Типи даних та основні операції з ними

  • Алфавіт мови. Коментарі. Ключові слова. Прості (примітивні) типи даних. Ідентифікатори, вибір імен ідентифікаторів. Змінні та константи. Оголошення та ініціалізація змінних. Типи даних: прості та за посиланням. Область видимості та час життя змінних. Оператори. Операції: арифметичні, присвоєння, відношення та логічні. Перетворення та приведення числових типів. Пріоритет операцій. Використання круглих дужок.

Потік керування

  • Складовий оператор (блок). Умовний оператор та його види. Цикли: for, while, do while. Нескінченні цикли. Оператор switch. Переривання потоку керування, мітки.

Масиви

  • Оголошення та ініціалізація масивів, у т.ч. анонімні. Лінійні та багатовимірні масиви, «нерівні» масиви. Ітерація за елементами масиву. Масиви та присвоєння. Передача та повернення масивів до методів і з методів. Копіювання масивів. Клас Arrays: заповнення, порівняння елементів та їх сортування. Пошук у масивах. Параметри командного рядка. Методи: аргументи змінної довжини.

Вступ до ООП. Вступ до UML.

  • Об’єктна модель:
  • Основні положення: абстрагування, інкапсуляція, модульність, ієрархія
  • Об’єкти та класи:
  • Об’єкти
  • Визначення (з Прикладами)
  • Стан
  • Поведінка
  • Операції
  • Ідентичність
  • Інкапсуляція
  • Класи та інтерфейси:
  • UML. Нотація UML. Діаграми класів.
  • Відношення між об’єктами
  • Залежності, їх різновиди
  • Резюме
  • Асоціації
  • Реалізації
  • Зв’язки, їх множинність

Об’єкти та класи

  • Класи. Поля та методи (визначення, синтаксис оголошення). Специфікатори доступу public і private
  • Поля класів: ініціалізація явна та за замовчуванням, специфікатор final та константи. Доступ до полів та методів
  • Методи: параметри (посилання та прості типи) та повертаються, використання set- і get-методів, перевантаження методів, правила перевантаження, ключове слово strictfp
  • Конструктори: конструктори за замовчуванням, виклик одного конструктора з іншого
  • Блоки ініціалізації
  • Статичні поля та методи: ініціалізація константи, статичні блоки ініціалізації. Використання this для доступу до членів класу
  • Збір сміття та видалення об’єктів

Спадкування та поліморфізм. Пакети.

  • Спадкування та поліморфізм як інструмент створення ПЗ. Суперклас та підкласи, ставлення узагальнення, успадкування в Java. Виклик конструкторів суперкласів, порядок викликів. Ключове слово super()
  • Перевизначення методів, правила перевизначення. Спадкування та статичні поля та методи класів. Абстрактні класи та методи – поняття, виклик конструкторів, реалізація методів у підкласах
  • Інтерфейси. «Множинне» успадкування. Визначення та реалізація інтерфейсів. Розширення інтерфейсів. Композиція як альтернатива множинному успадкуванню
  • Поліморфізм. Ієрархія наслідування
  • Перетворення та приведення типів. Використання instanceof. Відмова від успадкування: термінальні (final) методи та класи. Включення як альтернатива множинному успадкуванню
  • Пакети. Вкладення пакетів. Повторне використання коду та пакети. Захист доступу. Імпорт: класів, статичних методів та полів

Клас Object

  • Глобальний суперклас Object
  • Методи equals(), hashCode(), toString(), finalize(), clone() та ін.
  • Правила реалізації equals() та hashCode()
  • Інтерфейс Cloneable та його реалізація
  • Клонування: поверхневе та глибоке

Внутрішні класи Перелік

  • Синтаксис оголошення
  • Створення об’єктів внутрішніх класів
  • Поля та методи внутрішніх класів
  • Вкладення внутрішніх класів та доступ до членів зовнішніх класів
  • Посилання this у внутрішньому класі
  • Доступ до полів та методів зовнішнього класу з внутрішнього
  • Внутрішні класи та специфікатори доступу
  • Вкладені інтерфейси
  • Застосування внутрішніх класів
  • Внутрішні локальні класи (method-local inner classes)
  • Анонімні внутрішні класи
  • Вкладені (внутрішні статичні) класи (статичні класи)
  • Створення екземплярів
  • Доступ до екземпляра зовнішнього класу
  • Компіляція програм із внутрішніми класами
  • Перерахування. Enum як класи. Методи 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 і running – потоки, waiting / blocked / sleeping-потоки, стан потоку dead
  • Пріоритети потоків. Метод yield()
  • Метод join(). Потоки-демони
  • Синхронізація: синхронізація методів, синхронізаційні блоки. Отримання блокування об’єкта та блокування. Взаємодія потоків (ThreadInteraction)

Робота з базами даних

  • Основи побудови баз даних. Нормальні форми. Запити SELECT, INSERT, UPDATE, DELETE
  • JDBC
  • Driver, Connection, Statement, ResultSet. Пул з’єднань. Data Access Object

Робота з XML

  • Знайомство з XML. Поняття формальної коректності та допустимості. Потоковий аналіз з урахуванням SAX. Аналіз на базі DOM. Генерація Java-класів за схемою

Нове в Java 8

Мережеві можливості Java

  • Клас URL. Клас URLConnection. Сокети

Технологія RMI

  • Загальні уявлення про технології розподіленого програмування. Принципи організації RMI

Java Beans

  • Поняття про Java Beans
  • Проблема persistence. Збереження біна у XML-файлі

Основи веб-програмування

  • Принципи клієнт-серверної взаємодії
  • Поняття та життєвий цикл сервлету
  • Організація JSP-сторінки
  • Попередньо визначені змінні
  • Взаємодія JSP і JavaBeans
  • Передача даних між сторінками
  • Область видимості біна

Інверсія керування в Java.

  • Поняття Inversion of Control
  • Характеристика Spring IoC
  • Контрольний тест

Захист програмного проєкту

Ім’я
Номер, за яким з Вами можна зв'язатись
Ваша адреса електронної пошти

📩  info@sso.net.ua
☎️  38 098 805 45 11

✉️📅☎️🔝