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

Тема: опрацювання рядків мовою Java.

Мета:

Обладнання: ПК із встановленою ОС і середовищем програмування мовою Java (наприклад, NetBeans, Eclipse, IntelliJ IDEA, JCreator) або стійким сполученням з Інтернетом для роботи з online-середовищами програмування.

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

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

Хід уроку

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

Мотивація навчання:
Становлення програміста — складний і тривалий процес. У більшості випадків починається він з програми, яка виводить на екран монітора рядок тексту (тип String) "Hello, World!" Мова Java не виняток…

public class first
{ public static void main(String args[])
  { System.out.println("Hello, World!");
  }
}

Про роботу з рядками й піде мова на уроці.

2. Актуалізація опорних знань

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

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

Приклад опису об’єкта (змінної) типу String

String s;

Після опису, об’єкту типу String можна надавати значення рядка символів (літералу):

s = "Hello world!"; // класика жанру!

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

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

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

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

Базові дії з рядками

  1. Kонкатенаціяце поєднання (злиття) двох рядків в один.

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

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

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

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

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

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

  2. lengthвизначення довжини рядка:

    String s = "Це рядок";
    int j = s.length(); // результат 8

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

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

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

  4. Порівняння рядків здійснюють за допомогою методу equals.

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

    "Hello".equalsIgnoreCase("hello").

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

  5. Зведення до типу. Інколи постає необхідність зведення типу String до інших типів і навпаки. Наприклад, при введенні з клавіатури числа його буде отримано у вигляді рядка символів. А для проведення обчислень його потрібно привести або до типу int, або до типу float чи double. Для цього використовують методи valueOf, наявні у класі String, а також у класах, у яких які реалізовано числові типи Float, Double тощо — див. текст програми, що зчитує число з клавіатури і виводить результат перемноження введеного числа на 36. У поданому прикладі для знаходження десяткової коми використано метод indexOf, а для заміни десяткової коми на десяткову крапку — метод replace. Інакше (без заміни), при приведенні типу String до Double виникне помилка виконання і виконання програми буде завершено аварійно.

Методи String. Клас String в Java містить понад 50 методів, які можуть бути корисні при програмуванні — див. документацію по String англійською мовою. Нижче подано список з найуживаніших методів. Для кожного методу вказано тип результату повернення, назву, тип і приклад назви аргумента (аргументів), опис дії:

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

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

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

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


Завдання 1. Скласти програму для підрахунку кількості слів у введеному з клавіатури рядку. Словом вважати послідовність символів, що відокремлену символами пропуску. Порівняти складену програму з демонстраційним розв'язанням.

Завдання 2. Скласти програму для підрахунку кількості входжень символа f у рядок s. Порівняти складену програму з демонстраційним розв'язанням.

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

7. Домашнє завдання

Завдання 3. Скласти програму, що видає упорядкований за абеткою список рядків з літерами латиниці, використавши метод compareTo. Порівняти складену програму з демонстраційним розв'язанням. Протестувати програму для рядків з використанням кирилиці, у тому числі й українських літер, яких немає у російській абетці. Поміркувати, як потрібно змінити програму, щоб отримувати правильну відповідь і в цьому випадку.

Завдання 4. Перекласти мовою Java програму мовою Pascal для отримання нормальної диз'юнктивної форми булевої фукції. За бажанням зчитування даних можна зробити з клавіатури, а виведення на екран.


Текст упорядкувала Лариса Михайлівна Лежнюк, учитель середньої загально­освітньої школи І–ІІІ ступенів № 78 Печерського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 26.11.2018 по 30.11.2018.