1. Розбираємо детальніше тип String
Тип String — один із найуживаніших типів у Java. Можливо, навіть найуживаніший. Це дуже зручний тип, адже в таких змінних можна зберігати текст. На відміну від типів int і double, в об’єктів типу String є багато методів, що дають змогу виконувати різні операції над текстом.
Крім того, усі об’єкти в Java — буквально всі — можна перетворити на тип String. Точніше, усі об’єкти в Java повертають своє текстове (рядкове) подання. Ми ще не раз повертатимемося до цього типу (він дуже корисний і цікавий), а сьогодні познайомимося з його основами.
Створення змінних типу String
Тип String створено для зберігання рядків (тексту). Щоб у коді оголосити змінну, яка може зберігати текст, скористайтеся такою командою:
String ім'я;
Де імʼя — це імʼя змінної.
Приклади:
| Команда | Опис |
|---|---|
|
Створюється рядкова змінна name |
|
Створюється рядкова змінна message |
|
Створюється рядкова змінна text |
Як і з типами int і double, можна скористатися скороченим записом для створення кількох змінних типу String:
String ім'я1, ім'я2, ім'я3;
2. Присвоєння значень змінним типу String
Щоб записати у змінну типу String значення, скористайтеся командою:
ім'я = "значення";
Одна з відмінностей цього типу від уже вивчених полягає в тому, що всі значення типу String — це рядки тексту, і вони мають бути взяті в подвійні лапки.
Приклади:
| Команда | Примітка |
|---|---|
|
Змінна name містить текст Аня |
|
Змінна city містить текст Нью-Йорк |
|
Змінна message містить текст Привіт! |
3. Ініціалізація змінних типу String
Як і у випадку з типами int і double, змінні типу String можна ініціалізувати одразу під час створення. Загалом так можна робити з усіма типами в Java.
String ім'я1 = "значення1", ім'я2 = "значення2", ім'я3 = "значення3";
String name = "Аня", city = "Нью-Йорк", message = "Привіт!";
Змінювати можна лише ініціалізовані змінні
Компілятор Java повідомить про помилку, якщо ви оголосите змінну, не присвоївши їй значення, а потім спробуєте її використати.
Такий код не працюватиме:
String name;
System.out.println(name); // Змінна name не ініціалізована. Програма не скомпілюється.
int a;
a++; // Змінна a не ініціалізована. Програма не скомпілюється.
double x;
double y = x; // Змінна x не ініціалізована. Програма не скомпілюється.
4. Конкатенація — склеювання рядків
Існує проста й корисна операція з рядками в Java — їх можна об’єднувати. Така операція називається конкатенація (склеювання рядків). Часто її також називають «додаванням рядків».
Щоб склеїти два рядки, потрібно використати оператор +. Це дуже просто:
"рядок1" + "рядок2"
Приклади:
| Команда | Примітка |
|---|---|
|
name містить рядок АняАня |
|
city містить рядок Нью-ЙоркАня |
|
message містить рядок Привіт! Аня |
Одночасно можна об’єднувати багато рядків, а також комбінувати рядки зі змінними.
String name = "Аня"; // name містить рядок Аня
String city = "Нью-Йорк"; // city містить рядок Нью-Йорк
String message = "Привіт!" + city + name + city; // message містить рядок Привіт!Нью-ЙоркАняНью-Йорк
5. Порожні рядки
У попередньому прикладі видно, що текст у змінній message може погано читатися, бо в ньому бракує пробілів. Щоб задати один пробіл або кілька, потрібно просто написати їх у коді й узяти в подвійні лапки. Це простіше, ніж здається:
" "
Якщо між лапками зовсім нічого не залишити (написати дві подвійні лапки підряд), вийде так званий «порожній рядок»:
""
З одного боку, він ніби є, а з іншого — під час виведення на екран нічого не показується. Під час склеювання з іншими рядками він нічого не змінює. Це свого роду аналог нуля, але для рядків.
6. Екранування спеціальних символів у рядках
Рядки беруть у подвійні лапки. Але що робити, якщо потрібно вставити в рядок лапки? Якщо написати лапки всередині рядка, компілятор сприйматиме їх як завершення рядка.
Саме так і станеться. Тому лапки всередині тексту екрануються як послідовність символів \". Код виглядатиме так:
String quote = "Він сказав: \"Вітаю!\"";
System.out.println(quote); // Він сказав: "Вітаю!"
Символ \ є спеціальним (керівним) усередині рядків. За його допомогою можна задавати різні недруковані символи: перенесення рядка, табуляцію тощо. Щоб задати сам символ \, його потрібно написати двічі.
Найпоширеніші послідовності:
| Запис | Значення |
|---|---|
| \n | Перенесення рядка (newline) |
| \t | Табуляція (відступ) |
| \\ | Сам символ \ |
| \" | Лапки всередині рядка |
Приклад:
String multiline = "Рядок 1\nРядок 2";
System.out.println(multiline);
Виведе:
Рядок 1
Рядок 2
7. Методи рядків
Тип String має власні методи. Їх багато, і вони полегшують роботу розробника. Сьогодні ви познайомитеся з деякими базовими методами. Приклад:
| Метод | Опис | Приклад результату |
|---|---|---|
|
Довжина рядка | |
|
Перетворення на верхній регістр | |
|
Перетворення на нижній регістр | |
|
Видалення пробілів з країв | |
Приклади роботи з методами рядків
Усі ці методи викликаються так: змінна.метод(...).
Визначити довжину рядка:
String name = "Андрій";
int length = name.length();
System.out.println(length); // 6, адже 6 літер
Перетворити рядок у верхній або нижній регістр:
String original = "Привіт";
System.out.println(original.toUpperCase()); // ПРИВІТ
System.out.println(original.toLowerCase()); // привіт
Прибрати пробіли з країв (дуже корисно під час введення з клавіатури):
String messy = " привіт ";
System.out.println(messy.trim()); // "привіт"
Кожен такий метод повертає новий рядок, а початковий рядок при цьому не змінюється.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ