Розробка уроку

Тема: мова програмування Java і середовище програмування Eclipse.

Мета: ознайомити учнів з:

По завершенню вивчення учень:

Обладнання: комп’ютери зі встановленими ОС та інтегрованим середовищем програмування Eclipse, (дана) інструкція.

Структура уроку

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Вивчення нового матеріалу.
  4. Інструктаж з ТБ.
  5. Закріплення вивченого матеріалу.
  6. Підведення підсумків уроку.
  7. Домашнє завдання.

Хід уроку

1. Організаційний момент
Привітання з учнями. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання. Оголошення теми й мети уроку.

2. Актуалізація опорних знань
Дати означення понять, які виділені жирним шрифтом.

Алгоритмце запис скінченої послідовності вказівок, виконання яких призводить до розв'язання певної задачі.

Вказівка (алгоритму) — це спонукальне речення, що вказує, яку дію має виконати виконавець алгоритму.

Виконавець (алгоритму) — це жива істота (людина або тварина) або автоматичний пристрій (робот, електронна обчислювальна машина тощо), спроможна діяти відповідно з алгоритмом.

Система вказівок виконавцяце множина (сукупність) всіх вказівок, які може виконувати даний виконавець.

Середовище виконання алгоритму — об'єкти, з якими працює виконавець у процесі виконання алгоритму.

Властивості алгоритму: дискретність, визначеність, викону­ваність, скінченність, результативність, масовість, ефектив­ність.

Дискретність (латинською discretus — розділений, розривний) алгоритму означає, що виконання алгоритму зводиться до виконання окремих дій (кроків) у певній послідовності. Причому, кожну вказівку алгоритму виконують за скінченний проміжок часу.

Визначеність (однозначність) означає, що алгоритм однозначно визначає порядок дій виконавця, результат цих дій і не потребує додаткового тлумачення.

Виконуваність означає, що алгоритм, призначений для певного виконавця, може містити лише вказівки, які входять до системи вказівок цього виконавця.

Скінченність означає, що виконання алгоритму закінчиться після скінченної (можливо, досить великої) кількості кроків і за скінченний час для довільних вхідних даних.

Результативність алгоритму означає, що після закінчення виконання алгоритму обов’язково:

  • або одержують розв'язок-результат відповідно до поставленої мети;

  • або встановлюють відсутність таких розв'язків (множина розв'язків порожня);

  • або встановлюють неможливість розв'язання задачі.

Масовість алгоритму означає, що алгоритм можна застосувати до цілого класу однотипних задач, для яких спільними є умова та хід розв’язування та які відрізняються лише початковими (вхідними) даними. Наприклад, алгоритмом дій, складеним для одного касира, можуть успішно скористатися всі касири супермаркету. А програмою пошуку коду і підрахунку суми вартостей товарів, придбаних покупцем, — усі комп'ютери супермаркету

Ефективність алгоритму описує час виконання і об'єм ресурсів, необхідних для виконання алгоритму: чим менше часу (часова ефектив­ність) і ресурсів (просторова ефектив­ність), тим ефектив­ність вища.

  1. Як називають такий порядок дій?
    1. Завантажити середовище Eclipse.
    2. Ввести текст програми.
    3. Запустити програму на компіляцію та виконання.
    4. Дочекатися виведення повідомлення.
  2. Звичайною мовою кажуть, що все йде за програмою, якщо:
    • дії виконують за допомогою комп'ютера;
    • дії відбуваються у повній відповідності з планом;
    • виконують дії до задачі.
  3. Процес роботи комп'ютера полягає у виконанні ...(чого?)
  4. Програми створюють люди за фахом ...
  5. Де виконують програми?

3. Вивчення нового матеріалу

У театрі хід подій на сцені попередньо визначено у найдрібніших деталях:

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

Робота комп'ютера полягає у виконанні програми — набору певних дій у певному порядку. Програма є алгоритмом дій комп’ютера, записаним зрозумілою для нього мовою.

Щоб задати комп'ютеру послідовність дій, потрібно задати послідовність двійкових кодів відповідних вказівок. Писати такі програми — дуже складна й марудна справа.

Простіше писати програму деякою мовою, наближеною до природної людської мови, а переклад у машинні коди доручити комп'ютеру. Так з'явилися мови, призначені спеціально для написання програм — мови програмування, що на відміну від розмовної мови не допускають двозначностей чи вільного тлумачення.

Мова програмування (англійською programming language) — це система позначень для опису алгоритмів та структур даних.

Java — це об'єктно-орієнтована мова програмування.

Об'єктно-орієнтовані мови програмування описують сукупності об'єктів, що взаємодіють між собою. Об'єкт має властивості (змінні) та методи — дії, які об'єкт може виконувати. Кожний об’єкт є представником певного класу. Інакше кажучи, набір властивостей та поведінку (сукупність методів) об’єкта описують у класі, на основі якого створено об’єкт. Навіть найпростіша програма мовою Java має містити принаймні один клас.

У мові Java, як і в багатьох інших мовах програмування, для створення програми пишуть вихідний код, потім компілюють його. Компілятор перевіряє відповідність коду синтаксичним правилам мови. Початковою метою мови Java, було надання можливості для програмістів писати одну програму, яка могла б працювати на будь-якій платформі. Цю мету можна висловити такими словами: «Write once, run anywhere» — «Написати один раз, виконувати будь-де».

При написанні коду на ПК під керуванням ОС Windows створюють файл з розширенням java. Після компілювання цього файлу компілятор створює файл з розширенням class. Для роботи на інших платформах достатньо відкомпілювати вихідний код з бібліотеками, специфічними для цієї платформи.

Для створення програм мовою Java будемо використовувати вільно поширюване багатоплатформне інтегроване середовище програ­мування (IDE) Eclipse. Використання інтегрованого середовища програмування приховує більшість рутинних технічних подробиць роботи з мовою програмування Java, надає інструменти для прискорення та покращення роботи і просто є зручнішим способом розробки програм.

Спочатку середовище Eclipse було розроблене для мови Java. Нині існують розширення для підтримки інших мов: C, C++, Perl, PHP, JavaScript, Python, Ruby тощо.

Робочий простір Eclipse IDE

Після запуску середовища Eclipse буде запропоновано вказати теку для робочого простору (workspace).

Workspaceце тека, в якій буде збережено всі налаштування середовища.

Її рекомендують розташувати у теці, відмінній від директорії з встановленим IDE.

Першим кроком для написання програми є створення проекту Java.

Алгоритм створення Java-проекту

  1. Використати вказівку меню File / New / Project...

  2. У вікні діалогу New Project вибрати Java / Java Project і натиснути кнопку Next.

  3. У вікні діалогу New Java Project ввести назву проекту (наприклад, my) і натиснути кнопку Next.

  4. Залишити налаштування як усталено й натиснути Finish.

Основне вікно програми Eclipse

має такі складові:

Views — перегляди або представленняпанель для перегляду структур: список ваших проектів, файлова структура проекта, структура вихідного файлу, класу.

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

NetBeans — інше інтегроване середовище програмування, придатне для наочного програмування інтерфейсу з використанням JDK. При ОС Linux завантажують файл з розширенням sh. Для встановлення ПЗ потрібно виконати такі вказівки Терміналу (описано для версії 12.3).

cd Завантаження
chmod +x Apache-NetBeans-12.3-bin-linux-x64.sh
sudo ./Apache-NetBeans-12.3-bin-linux-x64.sh

Для можливості використання мови програмування може знадобитися такий рядок:

netbeans_jdkhome="/usr/lib/jvm/java-11-openjdk-amd64"

у файлі netbeans.conf. Редагування файлу можна почати, виконавши під обліковим записом з адміністра­тивними правами таку вказівку Терміналу.

sudo nano /usr/local/netbeans-12.3/netbeans/etc/netbeans.conf

Компіляція і виконання програм без середовищ програмування:

  • назва файлу з кодом програми має збігатися з назвою класу, описаного у файлі;
  • тип файлу з кодом програми — java;
  • файл з кодом програми не містить опис приналежності до пакунку;
  • у середовищі Термінала Linux (командного рядка Windows) виконати вказівки:

    • javac назви_файлів_через_пробіли — компіляція;
    • java назви_класів_через_пробіли — запуск на виконання.

Файли буде взято з поточної теки, якщо не вказано інший шлях (перед назвою файлів). Після компіляції будуть створені файли з розширенням class з тими самими назвами, що файли з кодом програми. Це розширення не потрібно вказувати при запуску програми на виконання.

І компіляцію, і виконання можна здійснити з додатковими параметрами, опис яких можна отримати виконанням таких вказівок:

javac -help
java -help

Навіть після встановлення JDK змінна середовища PATH може не містити шлях до бібліотеки javac. У цьому випадку потрібно знайти розташування бібліотеки javac засобами ОС (наприклад, /usr/lib/jvm/jdk-16.0.1/bin) і:

  • або явно вказувати шлях у вказівці компілювання, наприклад, таким чином

    /usr/lib/jvm/jdk-16.0.1/bin/javac назви_файлів_через_пробіли

  • або змінити значення змінної середовища PATH, наприклад, таким чином

    export PATH=$PATH:/usr/lib/jvm/jdk-16.0.1/bin

На ПК може бути попередньо встановлена бібліотека java версії, ранішої від використаної для компілятора javac. У цьому випадку можна отримати повідомлення, схоже на таке:

Error: LinkageError occurred while loading main class java.lang.UnsupportedClassVersionError: has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 55.0

Версії бібліотек (з поточної теки) можна встановити, виконавши такі вказівки Терміналу:

javac -version
java -version

Щоб упоратися з цією проблемою, достатньо вказувати шлях до бібліотеки java потрібної версії. Наприклад, таким чином.

/usr/lib/jvm/jdk-16.0.1/bin/java назви_класів_через_пробіли

4. Інструктаж з ТБ
5. Закріплення вивченного матеріалу


Завдання 1. Створити й виконати програму, яка виведе повідом­лення: «Ура! Запрацювала моя перша програма!», використавши застосунок Hello World середовища програмування Eclipse.

Вказівки до виконання

  1. У середовищі Eclipse обрати Create a Hello World aplication.

  2. Використати вказівку меню Window / Perspective / Open Perspective / Java Browsing, якщо це можливо, інакше — Window / Perspective / Open Perspective / Оther...,

    у вікні Open Perspective вибрати Java Browsing і натиснути кнопку OK.

  3. Використати вказівку меню File / New / Java Project.

  4. Ввести назву проекту HelloWorld і натиснути кнопку Finish.

  5. Використати вказівку меню File / New / Class.

  6. Ввести HelloWorld для назви класу, встановити прапорець, щоб створити метод Main, а потім натисність кнопку Finish.

    Редактор Java автоматично відкриє показ нового класу.

  7. У коді методу Main додати такий оператор:

    System.out.println("Ура! Запрацювала моя перша програма!");

  8. Зберегти зміни, використавши вказівку меню File / Save або натиснувши клавіші Ctrl + S.

    Примітка Набираючи текст, можна помітити такі можливості редактора Eclipse.

    • Автоматичне дописування коду. Функція дописування коду видає контекстно залежний список варіантів, з якого можна здійснити вибір. При введенні лівої круглої дужки ( або подвійних лапок редактор автоматично вставляє до них відповідно праву круглу дужку та подвійні лапки, що завершують виділення частини тексту.

    • Перевірка синтаксису. При збереженні коду його компілюють у фоновому режимі і перевіряють на наявність синтаксичних помилок. Як усталено, синтаксичні помилки буде підкреслено червоною лінією, а ліворуч на полях з'явиться мітка — на червоному крузі білий знак ×. Інші помилки буде позначено на полях символом електричної лампочки. Це ті проблеми, які редактор може виправити за програміста.

  9. Клацнути правою кнопкою миші в провіднику пакетів і вибрати у контекстному меню Run As / Java Application або натиснути відповідну кнопку на панелі інструментів.

  10. Дочекатися появи на консолі такого тексту:

    Ура! Запрацювала моя перша програма!

6. Підбиття підсумків уроку
Виставлення оцінок.

7. Домашнє завдання
Вивчити навчальний матеріал уроку. Встановити JDK, середовища Eclipse і NetBeans. Ознайомитися з описом мови Java, щоб виробити загальне уявлення про можливості цієї мови програмування.


Класце конструкція, передбачена мовою програмування, для об'єднання ряду даних (змінних, можливо, різних типів) в одне ціле. Крім власне даних, класи зазвичай включають методи (підпрограми), можуть включати блоки (сукупність операторів, записаних у фігурних дужках {}) та інші (внутрішні) класи.

— див. приклад програмної реалізації поняття класу у розв'язанні такої задачі: знайти об'єми двох прямокутних коробок з відомими габаритами (довжинами сторін). У цьому і наступному прикладах код потрібно зберігати у файлі з назвою Main.java або відповідним чином змінити назву класу, а перший рядок повинен містити опис пакету:

package назва_пакету;

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

Оголошення та визначення методу має такий вигляд:

тип_повернення  назва_методу (список_параметрів)
{ вказіка1; //тіло методу
  вказіка2;
  …
  вказікаn;
}

Тип поверненняце тип величини — результату застосування методу. Якщо метод нічого не повертає, то вказують ключове слово void.

Виклик методу здійснюють так:

об'єкт.метод(список_параметрів)

або

об'єктна_змінна.метод(список_параметрів)

— див. нову редакцію розглянутої вище програми обчислення об'ємів коробок з прикладом опису методу.

У поданих прикладах використано модифікатори доступу.

Модифікатори доступу полів (властивостей) чи методів можуть бути такими:

Відсутність модифікатора у поля або методу класу передбачає застосування до нього модифікатора як усталено. Такі поля або методи видно в усіх класах у поточному пакеті.

Крім звичайних методів і полів клас може мати статичні (static) поля і методи. Наприклад, головний клас програми має саме такий метод main.

public static void main (String () arg);

Слово static в оголошенні змінної чи методу означає, що метод належить класу, а не представнику класу (об'єкту). Відповідні (статичні) члени класу можна використовувати без створення представників класу. Статичні змінні подібні глобальним змінним, тобто вони досяжні з довільного місця коду.

Слово void в оголошенні методу означає, що метод нічого не повертає. Для отримання результату його застосування слово void потрібно замінити типом даних і додати у код методу вказівку return з назвою об'єкта вказаного в оголошенні типу.

@Overrideанотація-маркер в описі класу, яку застосовують до методу, що перевизначає метод батьківського класу. Анотація-маркер @Override перевіряє, чи перевизначено метод. Викликає помилку компіляції, якщо метод не знайдено у батьківському класі або інтерфейсі.

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

Java — строго типізована мова. Інакше кажучи, у програмі мовою Java потрібно вказувати тип змінної при її оголошенні, який не змінюється протягом виконання прогами. В Java є 8 основних неструктурованих типів даних. П'ять із них — цілочисельні (включаючи символьний тип char), два — дійсні (float і double) і один логічний (булевий) тип даних.

Типи даних

НазваДовжина
у байтах
Діапазон зміни
booleanне
визна-
чено
{true, false}
byte1−128..127
char20..216−1, тобто 0..65535
short2−215..215−1, тобто −32768..32767
int4−231..231−1,
тобто −2147483648..2147483647
long8−263..263−1, тобто
приблизно −9.2·1018..9.2·1018
float4−(2−2−23)·2127..(2−2−23)·2127, тобто
приблизно −3.4·1038..3.4·1038
double8−(2−2−52)·21023..(2−2−52)·21023, тобто
приблизно −1.8·10308..1.8·10308

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

int k;
double salary;
char ourChar;

Назву змінної потрібно починатися з літери, далі — довільна послідовність літер і цифр. У Java використано кодування Unicode, тому змінні можна писати навіть кирилицею. Враховують регістр символів. Наприклад, K та k — це різні змінні. Не можна використовувати як назви зарезервовані слова. В одному рядку можна оголошувати декілька змінних:

int j,k,l,m,n;

Бажано давати змістовні назви змінним, бо це істотно полегшує роботу над текстом програми.

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

Арифметичні оператори:

+ — додавання;
+= — додаваня з наданням значення;
- — віднімання;
-= — віднімання з наданням значення;
* — множення;
*= — множення з наданням значення;
/ — ділення;
/= — ділення з наданням значення;
% — лишок від ділення;
%= — лишок від ділення з наданням значення;
++ — інкремент — збільшення значення на 1;
-- — декремент — зменшення значення на 1.

Описані вище оператори потрібно застосовувати лише до змінних цілого типу. Їх не можна використовувати для змінних булевого типу. Але їх можна застосовувати до величин з типом char.

Оператори відношення (операторами порівняння) порівнюють значення величин:
== — дорівнює (збігається з);
!= — не дорівнює (відмінне від);
> — більше (перевищує);
< — менше;
>= — не менше (більше або дорівнює);
<= — не перевищує (менше або дорівнює).

Результат порівняння має тип boolean з можливими значеннями true або false. Найчастіше оператори відношення використовують у виразах, що застосовуються в умовних інструкціях (IF) та у циклах. Оператори == і != можна застосовувати практично до всіх типів, інші — лише до числових типів.

Логічні оператори застосовують до величин типу boolean з таким самим типом результату:

ПозначенняОпис
&Логічне «і» (AND)
|Логічне «або» (OR)
^Логічне виняткове «або» (XOR)
||Коротке «або»
&&Коротке «і»
!Логічне заперечення «не» (NOT)
&=Логічне «і» з наданням значення
|=Логічне «або» з наданням значення
^=Виняткове «або» з наданням значення
==Рівність (еквівалентність)
!=Не рівність (нееквівалентність)
?:Тернарний if-then-else (якщо-тоді-інакше)


Таблиця істинності логічних операторів

ABA | BA & BA ^ B !A
FalseFalseFalseFalseFalseTrue
True FalseTrue FalseTrue False
FalseTrue True FalseTrue True
True True True True FalseFalse

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

class BoolLogic {
  public static void main(String args[])
  { boolean a = true;
    boolean b = false;
    System.out.println("              a = " + a);
    System.out.println("              b = " + b);
    System.out.println("          a | b = " + a | b);
    System.out.println("          a & b = " + a & b);
    System.out.println("          a ^ b = " + a ^ b);
    System.out.println("!a & b | a & !b = " + !a & b | a & !b);
    System.out.println("             !a = " + !a);
  }
}

У результаті її виконання на екран буде виведено такий текст:

                      a = true
                      b = false
                  a | b = true
                  a & b = false
                  a ^ b = true
        !a & b | a & !b = true
                     !a = false

Оператор надання значення використовують при ініціалізації змінних та наданні значення обчисленого виразу:

int x = 5;
int k = x + 8;

У Java його можна використати й таким чином:

a = b = c = 100;

Ця можливість корисна при потребі надати одного й того самого значення багатьом змінним.

Оператор ?: має три операнди, може заміняти у певних випадках умовний оператор if … then … else … і має такий вигляд:

Вираз1 ? вираз2 : вираз3;

Розглянемо такий приклад:

int y = x==0 ? ++x : x;

Якщо x дорівнює 0, то його значення збільшують на 1 і надають у цього збільшеного значення. Інакше (якщо x відмінне від 0), то надають у значення x.

Пріоритет операторів

  1. ( ) [ ]
  2. ++ –– ~!
  3. * %
  4. + –
  5. >> >>> <<
  6. > >= < <=
  7. == !=
  8. &
  9. ^
  10. |
  11. &&
  12. ||
  13. ?:
  14. = op=

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

Умовний оператор (неповна форма)

if (умова) вказівка;

Якщо умова справджується (true), буде виконано вказівку, записану в операторі, інакше її не буде виконано. Якщо при справдженні умови необхідно виконати не один, а багато операторів, усіх їх розміщують у блоці:

if (умова)
{ оператор1;
   …
  операторn;
}

Якщо необхідно здійснити певну дію і в разі не виконання умови, то застосовують умовний оператор у повній формі.

Умовний оператор (повна форма)

if (умова) оператор1 else оператор2;

Цикл while (перекладається як «доки») – це цикл з передумовою, тіло якого (вказівку) виконують, поки умова істинна. Якщо умова з самого початку хибна, то вказівку не буде виконано жодного разу. Загальний вигляд:

while (умова) оператор;

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

while (умова)
{ оператор1;
  ...
  операторn
}

Див. приклад з грою — вгадуванням числа від 0 до 10. Програма породжує випадкове число при кожному повторі циклу і пропонує вгадати його. Після вводу користувачем числа виводить відповідне повідомлення про результат гри і запрошення здійснити нову спробу. Якщо користувач вводить з клавіатури «Y» або «y», то гру буде продовжено, інакше її буде завершено.

Для породження випадкових чисел використано вбудований клас Random, що містить відповідні методи. Зокрема, у прикладі програми використано метод nextInt для породження випадкових чисел.

Для зчитування з клавіатури використано клас Scanner для зручного введення з клавіатури. Метод nextInt — для зчитування цілого числа, next — рядка тексиу з клавіатури.

Для того, щоб переконатися у збіганні рядків, використано метод equals з класу String.

Пояснимо зміст таких рядків:

import java.util.*;
Random generator = new Random();
gn=generator.nextInt(10);

Необхідно мати генератор цілих випадкових чисел, який реалізовує класс Random у пакеті java.util. Для цього імпортовано відповідний клас. Далі в програмі створюємо змінну generator, яка вказуватиме на екземпляр класу random і дозволятиме звернення до методів даного класу.

new Random() — створено відповідний об'єкт. Для породження випадкових чисел використано метод nextInt() класу Random.

Цикл do whileцикл з післяумовою, що буде виконано хоча б один раз, має таку форму запису:

do вказівка while (умова);

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

Цикл з лічильником for застосовують при необхідності виконати оператори певну кількість раз з одночасним збільшенням або зменшенням певної змінної (лічильника). Наприклад, для виведення на консолі у стовпчик чисел від 1 до 10 включно:

for (int i = 1; i <= 10; i++) {System.out.println(i);}

Цикл for each призначено для перебору елементів масиву (програмне втілення поняття послідовності) або подібних до масиву типів даних. Загальний вигляд циклу такий:

for (type var : arr)
{ //тіло циклу
}

Наприклад, вивести елементи масиву а можна таким чином:

for (int element : a) System.out.println(element);

Оператор переривання виконання циклу break. При використанні вкладених циклів (один цикл в іншому) оператор break припинить цикл, у тілі якого його записано. Якщо його записано у внутрішньому циклі, то буде припинено виконання лише внутрішнього циклу, а зовнішній цикл буде виконано й надалі. Якщо потрібно повністю припинити виконання і внутрішнього, і зовнішнього циклів, то використовують оператор break з міткою - див. приклад програми, що виводить 2 числа, якщо використано оператор break з міткою і зациклюється, якщо використати оператор break без мітки.

Оператор припинення кроку (ітерації) continue переносить порядок виконання до заголовку оператора. Щоправда завжди уникнути використання вказівок break і continue.

Оператор вибору одного з багатьох варіантів switch дозволяє уникнути громіздких вкладень if … else … . Наприклад, таким чином:

Scanner in = new Scanner(System.in);
System.out.print("Введіть одне з таких чисел: 1, 2, 3, 4.");
int choice = in.nextInt();
switch (choice)
{ case 1: {System.out.print("Введено 1."); break;}
  case 2: {System.out.print("Введено 2."); break;}
  case 3: {System.out.print("Введено 3."); break;}
  case 4: {System.out.print("Введено 4."); break;}
  default:{System.out.print("Не те…");     break;}
}

Одновимірний (лінійний) масив — втілення у мові програмування поняття послідовності, члени якої занумеровано цілими числами. Формат оголошення масиву такий:

тип_елементів назва_масиву[];

Існує також інша форма оголошення масиву:

тип_елементів[] назва_масиву;

Перед роботою з масивом, необхідно виділити під нього пам'ять за допомогою операції new:

назва_масиву = new тип_елементів [кількість_елементів];

або зразу однією вказівкою:

тип_елементів назва-масиву[] = new тип_елементів [кількість_елементів];

Наприклад,

int month_days[] = new int[12];

Таким чином описують виділення пам'яті під масив і ініціалізації елементів масиву нулями. В подальшому можна напряму звертатися до елементів масиву, вказуючи індекс у квадратних дужках. Нумерацію елементів у масиві в java починають з нуля.

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

public class DaysOfMonth
{ public static void main(String[] args)
  { int month_days[] = {31,28,31,30,31,30,31,31,30,31,30,31};
    System.out.println("Травень має "+month_days[4]+" день");
  }
}

Результат виконання:

Травень має 31 день

Багатовимірні масививтілення у мові програмування поняття таблиці (двовимірний масив) чи тензора. Робота з багатовимірним масивом схожа на роботу з одновимірним. Відмінність лише в тому, що використовують додаткові квадратні дужки для інших індексів. Переважно використовують дво- і тривимірні масиви, які можна оголосити таким чином:

int a[][]   = new int[2][3];    // створення масиву 4×5
int b[][][] = new int[2][3][4]; // створення масиву 5×5×5

Як і у випадку з одновимірним масивом є можливість ініціалізації масиву при його оголошенні. Наприклад, таким чином:

int[][] Array={{5, 6, 1, 3},
               {3, 4, 2, 1},
               {1, 2, 2, 2}
              };

Рядок (тексту) — це втілення у мові програмування поняття послідовності символів.

Цю послідовність у тексті прогами записують між подвійними лапками: "Це рядок". Рядок може бути порожнім, тобто не містити жодного символа: "". Для запису спеціальних символів використовують зворотню похилу риску "\" (backslash). Наприклад, "\" - це лапки". Найчастіше це застосовують для запису ознаки кінця рядка:

System.out.println("Це перший рядок тексту, \nа це другий рядок тексту.");

Зберігати великі об'єми текстових даних радять зберігати і маніпулювати з ними не у класі String, а у класах StringBuilder або StringBuffer.

Kонкатенаціяце поєднання (злиття) двох рядків в один. Наприклад, результат у двох наступних вказівок один в і той самий:

String str = "Це рядок";
String str = "Це"+" рядок";

При використанні конкатенації рядків з іншими типами даних відбувається автоматичне зведення до типу String

String str = "цифра " + 5; //результат "цифра 5"

Також з'єднання двох рядків можна здійснити за допомогою методу concat:

String strEnd =" та вставайте";
String str = "Поховайте".concat(strEnd);

Метод length визначає довжину рядка:

String str = "Це рядок";
int j = str.length();
int k = "Це рядок".length();

Метод substring(j, k) використовують для отримання частину рядка довжини k, починаючи з символа j.

Наприклад, змінити рядок "Hello" на "Help!" можна таким чином:

String s = "Hello";
s = s.substring(0,3) + "p!";

Порівняння рядків здійснюють за допомогою методу equals: s1.equals(s2) повертає true, якщо s1 і s2 збігаються, інакше — false. Замість змінних (s1, s2) можна записувати рядкові сталі. Метод equals порівнює рядки з урахуванням регістру символів. Для того, щоб не враховувався регістр при порівнянні, використовують метод equalsIgnoreCase.

"Hello".equalsIgnoreCase("hello").

Примітка. Не використовуйте оператор ==, щоб перевірити рядки на збіг. Таким чином лише буде перевірено, чи рядкам відповідає та сама адреса у пам’яті.

Зведення до типу. Інколи потрібно звести тип String до інших типів і навпаки. Для таких випадків слугують, наприклад, методи parse*. Тут зірочкою * позначено клас, до якого належить метод, що перетворює рядок s типу String на представника цього класу — див. приклади застосування:

byte    b =    Byte.parseByte(s);  
Short  sh =   Short.parseShort(s); 
int     i = Integer.parseInt(s);        s = Integer.toString(i);      
long    l =    Long.parseLong(s);       s =    Long.toString(l);
float   f =   Float.parseFloat(s);      s =   Float.toString(f);
double  d =  Double.parseDouble(s);     s =  Double.toString(d);
boolean b = Boolean.parseBoolean(s);

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

Методи String
Для кожного методу вказано тип результату повернення, назву методу, тип і приклад назви аргумента (аргументів), опис дії):

StringBuilderаналог класу String, призначений для роботи з великими рядками, які потрібно часто змінювати, — див. приклади використання:

Конструктори StringBuilder:

Методи класу StringBuilder, пов’язані з довжиною і ємністю (відсутні для класу String):

Введення/виведення текстових даних з використанням інтерфейсу командного рядка (консолі) та файлі подано окремим описом. Немає нагальної потреби (особливо при першому знайомстві) читати весь опис. Достатньо ознайомитися з такими розділами:

Поданих у них прикладах коду є все, щоб виконати завдання навчальної програми.

Відеоуроки


Текст упорядкувала Толкачова Ірина Юріївна, вчитель середньої загально­освітньої школи № 35 Святошинського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 03.10.2016 по 07.10.2016.