1
ЛЕКЦІЯ №1.
Середовище розробки мовою Java. Базові елементи мови Java.
Викладач: PhD, Юлія Назар
Програмування на java
2
agenda
Вступ до предмету
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
3
agenda
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Вступ до предмету
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Об’єктно-орієнтоване програмування
Операційні системи та системне програмування
Алгоритми та структури даних
Об’єктне моделювання програмних систем
Клієнт-серверне програмування
Програмування для мобільних платформ
Веб-програмування та Веб-дизайн
Основи програмування
Базовий курс
Вступ до предмету
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Змістовні модулі
Основи процедурного програмування
Основи об’єктно-орієнтованого програмування
Інструменти навчання: Java, Eclipse
10 год лекцій
12 год ПЗ
10 год лекцій
12 год ПЗ
ЕКЗАМЕН
Вступ до предмету
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Організація навчання
Тест
Індивідуальне завдання
Екзамен
Лекція
Практичне заняття
Місце / час: ПЗ
DeadLine: до практичного заняття.
Час обмежено
Завантаження та захист
Вступ до предмету
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Оцінювання
Тест
2,5 бали
12 тестів
30 балів
ІПЗ
5 бали
12 ІПЗ
60 балів
Інтенсивність курсу: щотижня
Активність на парах (участь у конференціях, олімпіадах, хакатонах, наукових оботах і тд.)
10 балів
Допуск - 60 та більше балів
Вступ до предмету
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
https://prometheus.org.ua/
«Основи програмування на Java»
Поглиблення знань
9
1. Вступ до мови програмування Java
THE STATE EMERGENCY SERVICE OF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
10
Вступ до мови програмування Java
Чому java?
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Java сьогодні є однією з найпопулярніших мов програмування у світі, незважаючи на те, що у 2026 році їй виповнилося 30 років.
11
Вступ до мови програмування Java
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
З Java легко знайти роботу (з гарною зарплатнею)
Java відповідає усім парадигмам програмування (об’єктно-орієнтована)
Java кросплатформна мова
Чому java?
12
Вступ до мови програмування Java
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Історія Java почалася на початку 90-х років, коли застосування можливостей мережевих обчислень у повсякденному житті було новаторством. 1991 року невелика група інженерів компанії Sun Microsystems під назвою Green Team (на фото) вважала, що наступним етапом розвитку обчислювальної техніки стане об'єднання цифрових споживчих пристроїв та комп'ютерів.
Історичний екскурс
13
Вступ до мови програмування Java
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Проект створення програмного забезпечення для побутових приладів
Реалізацію проекту розпочато з використанням мови С++
Проблема платформо-незалежності
Створення Java
Історичний екскурс
14
Вступ до мови програмування Java
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Розробники Java:
«Написав один раз, використав скрізь»
15
Вступ до мови програмування Java
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Історичний екскурс
16
Вступ до мови програмування Java
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Facts from Java history
Початкове призначення – невеликі вбудовані системи в електронних приладах, таких як телевізійні приставки.
Початкова назва – Oak (Дуб), оскільки дуб є символом сили та надійності. Що показово, дуб обраний національним деревом багатьох країн.
Поточна назва - Java.
Походження назви – Java – острів в Індонезії, де була виготовлена перша кава.
Версії – Перша версія Java була випущена 23 січня 1996 року. З того часу вона зазнавала змін, враховуючи сучасні потреби. На сьогоднішній день випущено вже 23-у версію Java.
Власник – спершу Java належала компанії Sun Microsystems, яка зараз є дочірньою компанією Oracle Corporation.
17
Вступ до мови програмування Java
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Під словом "Java" може бути як мова програмування так і платформа чи технологія. У чому ж особливості та відмінності цих понять? Почнемо з визначень, які надає корпорація Oracle.
Java технологія є поєднанням мови програмування, платформи та різних фреймворків (програмне середовище спеціального призначення).
Java – це строго типізована об'єктно-орієнтована мова програмування, яку свого часу розробила компанія Sun Microsystems.
Java платформа – це комплекс апаратного та програмного забезпечення, призначений для розробки та виконання програм, написаних мовою Java.
18
Вступ до мови програмування Java
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Як працює Java?
19
Вступ до мови програмування Java
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Як працює Java?
Розробник створює вихідний документ (первинний код програми). Файл з кодом матиме розширення .java
2
Переведення первинного коду у байт-код за допомогою додатка javac (входить до пакету IDE) (другий етап компіляції). Файл з байт-кодом матиме розширення .class
1
3
Перевірка компілятором коду на наявність помилок та працездатності (перший етап компіляції)
Віртуальна машина Java (JVM), яка попередньо встановлена на платформі, транслює (інтерпретує) файл з байт-кодом в формат який працюватиме на пристрої
4
Скомпільований байт-код не залежить від платформи де реалізується (суть кросплатформної особливості Java)
!
Суть інтерпретації байт-коду JVM полягає у його зчитуванні та виконанні адаптуючи під особливості архітектури пристрою
!
!
Магія інтерпретації байт-коду відбувається у віртуальні машині Java (JVM)
!
!
!
20
Вступ до мови програмування Java
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Основні
переваги Java
об’єктно-орієнтованість
кросплатформність
архітектурна нейтральність
грамотність
багатопоточність
розповсюдженість
управління пам’яттю
21
2. Інтегроване середовище розробки
THE STATE EMERGENCY SERVICE OF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
22
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Для початку роботи в Java знадобиться низка інструментів, без яких написання, компіляція та виконання програм просто неможливі:
23
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Мінімум необхідного для програмування на Java
JDK
(Java Developer Kit – комплект розробника Java)
24
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
JDK 1.0, JDK 1.1 (Java Development Kit)
1
Версія 1.2 отримала назву Java2SE (Java-2) (перші серйозні зміни)
2
Версії 1.3 та 1.4 були модифікаціями Java2 (J2SE 1.3 та J2SE 1.4)
3
SE – це Standart Editon
EE – Enterprise Edition (додатки для підприємств) ME – Micro Edition
Чергова революційна версія 1.5 отримала назву J2SE 5.0 (викликало суперечності Java2 чи Java5)
4
25
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
З назви вилучено «2». Чергові версії: Java SE 5, Java SE 6, Java SE 7, Java SE 8 . . .
5
Різкі зміни в найменуванні пояснювалися ґрунтовними змінами у можливостях мови
Java | Java 2 | Java 5 | Java 6 | Java … | |||
1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | … |
250 класів | 500 класів. Початок популярності. Комфортний синтаксис | 2300 класів. Потужні версії. Пік популярності. Розробка більшості промислових систем, веб-орієнтованих та мобільних додатків тощо | Понад 3500 класів. Потужність мови зростає, складність написання зменшується. Запозичуються популярні можливості з інших мов | ||||
26
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Java 8 (2014)
Популярні версії jdk на сьогоднішній день:
Java 11 (2018)
Java 17 (2021)
Java 21 (2023)
27
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Інтегроване середовище розробки (Integrated Development Environment (IDE) – це комплексні програмні засоби, які дозволяють полегшити розробку та модифікацію тексту програми.
Містять багато функцій та можливостей, полегшують значну кількість рутинної роботи, яка може слугувати джерелом додаткових помилок.
Інтегровані середовища розробки створені для максимізації продуктивності розробника, надавши йому всі інструменти у вигляді однієї програми.
28
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
написання початкового коду
перевірки (редакції) коду на безпомилковість
компіляції коду
автодоповнення коду
розгортання та налагодження ПЗ
IDE об'єднує процеси:
29
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Синтаксична помилка
Логічна помилка
(компілятор пропонує
варіанти виправлення помилки)
30
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Перелік основних IDE та їх відповідність мовам програмування
Універсальні | IntelliJ IDEA,Visual Studio, NetBeans, Eclipse |
C/C++ | Borland C++, C++ Builder, Code::Blocks, CodeLite, Dev-C++, Oracle Solaris Studio, Ultimate++, Microsoft QuickC |
BASIC | Gambas, PowerBASIC, Turbo Basic, Visual Basic, QBasic |
Java | MyEclipse, IntelliJ IDEA , Oracle WebLogic Workshop, IBM WebSphere Studio, BlueJ, DrJava, JDeveloper, JBuilder |
Pascal | Delphi, Lazarus, PascalABC.NET, Turbo Pascal, QuickPascal |
PHP | Aptana Studio with PHP plugin, Delphi for PHP (RadPHP), Eclipse PDT, Zend Studio, PHP Expert Editor, phpStorm, Dreamweaver |
Python | Eric, PyCharm, PyDev, PyScripter, Wing IDE |
Ruby | RubyMine |
31
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
32
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
IntelliJ IDEA — комерційне інтегроване середовище розробки для різних мов програмування (Java, Python, Scala, PHP та ін.) від компанії JetBrains.
Система поставляється у вигляді урізаної по функціональності безкоштовної версії «Community Edition» і повнофункціональної комерційної версії «Ultimate Edition», для якої активні розробники відкритих проектів мають можливість отримати безкоштовну ліцензію.
33
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
34
Інтегроване середовище розробки
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
35
3. Компіляція та запуск
THE STATE EMERGENCY SERVICE OF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
36
Компіляція та запуск
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Для кращого розуміння ієрархії коду програми проведено його короткий аналіз. Для прикладу візьмемо вже добре відомий код програми із виводу стрічки «Привіт світе!»:
ВАЖЛИВО!!!: назва файлу.java обовязково повинна збігатись із назвою класу в коді
37
Компіляція та запуск
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
ВАЖЛИВО!!!: назва файлу.java обов'язково повинна збігатись із назвою класу в коді.
38
Компіляція та запуск
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Щоб запустити програму на виконання необхідно виконати функцію Run та вибрати відповідний файл.
39
Компіляція та запуск
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Після запуску програми і виконання, в папці проєкту появиться папка out, в якій знаходитимуться скомпільований байт клас. Зверніть увагу на розширення!
40
Компіляція та запуск
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
В наведеному прикладі вираз методу виводить у консоль стрічку «Привіт світе!».
Отже, узагальнимо ієрархію коду: клас → метод → вираз (логіка програми).
41
Компіляція та запуск
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Тепер зоглянемо детальніше кожен елемент представленого коду:
42
4. Вимоги щодо написання коду
THE STATE EMERGENCY SERVICE OF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
43
Вимоги щодо написання коду
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
У програмуванні якість написаного коду є не менш важливою, ніж його функціональність. Правильно структурований і зрозумілий код полегшує його читання, підтримку та модифікацію. При написанні коду на Java необхідно враховувати такі аспекти:
44
Вимоги щодо написання коду
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
3. Коментування коду
4. Синтаксична правильність
5. Простота і логічність коду
45
Вимоги щодо написання коду
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Приклад:
46
Вимоги щодо написання коду
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
Поняття ключових слів у Java
У класичному поданні ключові слова — це лексеми, які використовуються мовою програмування:
Ключові слова є в кожній мові програмування та постійно доповнюються.
47
Вимоги щодо написання коду
THE STATE EMERGENCY SERVICEOF UKRAINE
LVIV STATE UNIVERSITY OF LIFE SAFETY
STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE
48
Q&A SESSION