1 of 48

1

ЛЕКЦІЯ №1.

Середовище розробки мовою Java. Базові елементи мови Java.

Викладач: PhD, Юлія Назар

Програмування на java

2 of 48

2

agenda

Вступ до предмету

  • Вступ до мови програмування Java
  • Інтегроване середовище розробки
  • Компіляція та запуск
  • Вимоги щодо написання коду

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

3 of 48

3

agenda

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

4 of 48

Вступ до предмету

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Об’єктно-орієнтоване програмування

Операційні системи та системне програмування

Алгоритми та структури даних

Об’єктне моделювання програмних систем

Клієнт-серверне програмування

Програмування для мобільних платформ

Веб-програмування та Веб-дизайн

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

Базовий курс

5 of 48

Вступ до предмету

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Змістовні модулі

Основи процедурного програмування

Основи об’єктно-орієнтованого програмування

Інструменти навчання: Java, Eclipse

10 год лекцій

12 год ПЗ

10 год лекцій

12 год ПЗ

ЕКЗАМЕН

6 of 48

Вступ до предмету

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Організація навчання

Тест

Індивідуальне завдання

Екзамен

Лекція

Практичне заняття

Місце / час: ПЗ

DeadLine: до практичного заняття.

Час обмежено

Завантаження та захист

7 of 48

Вступ до предмету

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 та більше балів

8 of 48

Вступ до предмету

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

https://prometheus.org.ua/

«Основи програмування на Java»

Поглиблення знань

9 of 48

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 of 48

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 of 48

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 of 48

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 of 48

13

Вступ до мови програмування Java

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Проект створення програмного забезпечення для побутових приладів

Реалізацію проекту розпочато з використанням мови С++

Проблема платформо-незалежності

Створення Java

Історичний екскурс

14 of 48

14

Вступ до мови програмування Java

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Розробники Java:

«Написав один раз, використав скрізь»

15 of 48

15

Вступ до мови програмування Java

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Історичний екскурс

16 of 48

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 of 48

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 of 48

18

Вступ до мови програмування Java

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Як працює Java?

19 of 48

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 of 48

20

Вступ до мови програмування Java

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Основні

переваги Java

об’єктно-орієнтованість

кросплатформність

архітектурна нейтральність

грамотність

багатопоточність

розповсюдженість

управління пам’яттю

21 of 48

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 of 48

22

Інтегроване середовище розробки

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Для початку роботи в Java знадобиться низка інструментів, без яких написання, компіляція та виконання програм просто неможливі:

  • JDK - пакет інструментів розробника (Java Development Kit).
  • JRE - виконавча система Java (Java Runtime Environment). Служить для організації процесу виконання програм.
  • JVM - віртуальна машина Java (Java Virtual Machine). Це абстрактна обчислювальна машина, в арсеналі якої є свій набір команд та система керування пам'яттю.

23 of 48

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 of 48

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 of 48

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 of 48

26

Інтегроване середовище розробки

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Java 8 (2014)

  • Lambda-вирази та стріми (Stream API) для роботи з колекціями.
  • Дата й час (java.time API), заміна застарілих Date і Calendar.
  • Java 8 досі популярна завдяки стабільності.

Популярні версії jdk на сьогоднішній день:

Java 11 (2018)

  • Перша LTS-версія після Java 8 (Long-Term Support).
  • Додано підтримку запису в змінні через ключове слово var.
  • Видалено деякі застарілі функції (наприклад, Applets).

Java 17 (2021)

  • Чергова LTS-версія.
    • Pattern Matching для switch.
    • Покращення класів Record і підтримка sealed класів.

Java 21 (2023)

  • Нова LTS-версія.
  • Віртуальні потоки (Virtual Threads) для спрощення роботи з багатопоточністю.
  • Подальші покращення Pattern Matching.

27 of 48

27

Інтегроване середовище розробки

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Інтегроване середовище розробки (Integrated Development Environment (IDE) – це комплексні програмні засоби, які дозволяють полегшити розробку та модифікацію тексту програми.

Містять багато функцій та можливостей, полегшують значну кількість рутинної роботи, яка може слугувати джерелом додаткових помилок.

Інтегровані середовища розробки створені для максимізації продуктивності розробника, надавши йому всі інструменти у вигляді однієї програми.

28 of 48

28

Інтегроване середовище розробки

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

написання початкового коду

перевірки (редакції) коду на безпомилковість

компіляції коду

автодоповнення коду

розгортання та налагодження ПЗ

IDE об'єднує процеси:

29 of 48

29

Інтегроване середовище розробки

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Синтаксична помилка

Логічна помилка

(компілятор пропонує

варіанти виправлення помилки)

30 of 48

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 of 48

31

Інтегроване середовище розробки

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

32 of 48

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 of 48

33

Інтегроване середовище розробки

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

34 of 48

34

Інтегроване середовище розробки

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

35 of 48

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 of 48

36

Компіляція та запуск

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Для кращого розуміння ієрархії коду програми проведено його короткий аналіз. Для прикладу візьмемо вже добре відомий код програми із виводу стрічки «Привіт світе!»:

ВАЖЛИВО!!!: назва файлу.java обовязково повинна збігатись із назвою класу в коді

37 of 48

37

Компіляція та запуск

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

ВАЖЛИВО!!!: назва файлу.java обов'язково повинна збігатись із назвою класу в коді.

38 of 48

38

Компіляція та запуск

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Щоб запустити програму на виконання необхідно виконати функцію Run та вибрати відповідний файл.

39 of 48

39

Компіляція та запуск

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Після запуску програми і виконання, в папці проєкту появиться папка out, в якій знаходитимуться скомпільований байт клас. Зверніть увагу на розширення!

40 of 48

40

Компіляція та запуск

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

В наведеному прикладі вираз методу виводить у консоль стрічку «Привіт світе!».

Отже, узагальнимо ієрархію коду: клас → метод → вираз (логіка програми).

  • Коли JVM (віртуальна машина Java) починає свою роботу, вона першою чергою шукає клас (власне чому клас в ієрархії коду займає перше місце).
  • Після знаходження класу JVM шукає метод та заходить в нього.
  • Далі JVM по черзі виконує все, що знаходиться між фігурними дужками головного методу. Будь-яка програма написана на Java має що найменше один клас та головний (main) метод.

41 of 48

41

Компіляція та запуск

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Тепер зоглянемо детальніше кожен елемент представленого коду:

42 of 48

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 of 48

43

Вимоги щодо написання коду

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

У програмуванні якість написаного коду є не менш важливою, ніж його функціональність. Правильно структурований і зрозумілий код полегшує його читання, підтримку та модифікацію. При написанні коду на Java необхідно враховувати такі аспекти:

  1. Читабельність
    1. Код повинен бути зрозумілим як для автора, так і для інших програмістів.
    2. Варто дотримуватись єдиних правил форматування:
      1. Використовувати відступи.
      2. Розташовувати відкриваючі { і закриваючі } дужки відповідно до обраного стилю.
  2. Іменування змінних, методів і класів
    • Імена мають бути інформативними, зрозумілими та відповідати загальноприйнятим стандартам:
      • Класи: використовувати PascalCase (наприклад, MyFirstClass).
      • Методи і змінні: використовувати camelCase (наприклад, calculateSum, userName).

44 of 48

44

Вимоги щодо написання коду

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

3. Коментування коду

  1. Коментарі допомагають пояснити складні фрагменти коду.
  2. Типи коментарів у Java:
    • Однорядкові (//): використовуються для коротких пояснень.
    • Багаторядкові (/* */): застосовуються для блоків тексту.

4. Синтаксична правильність

    • Java є чутливою до регістру, тому Variable і variable — це різні назви.
    • Усі інструкції в Java завершуються крапкою з комою (;).

5. Простота і логічність коду

    • Код має бути розбитий на окремі логічні блоки (методи чи функції), кожен з яких виконує одну конкретну задачу.
    • Необхідно уникати дублювання коду.

45 of 48

45

Вимоги щодо написання коду

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Приклад:

46 of 48

46

Вимоги щодо написання коду

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

Поняття ключових слів у Java

У класичному поданні ключові слова — це лексеми, які використовуються мовою програмування:

  • для позначення примітивних типів, алгоритмічних конструкцій розгалуження та циклів, модифікаторів доступу
  • для оголошення, імпорту, створення, повернення, виклику методів
  • при багатопотоковому програмуванні.

       

Ключові слова є в кожній мові програмування та постійно доповнюються.

47 of 48

47

Вимоги щодо написання коду

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

48 of 48

48

Q&A SESSION