1. Конкатенація — склеювання рядків

Є дуже цікава і проста річ, яку можна робити з рядками Java — їх можна склеювати. Така операція має назву конкатенація. Аби легше запам’яталося — Кон-Коте-Нація. Хоча часто її називають «склеювання рядків» або навіть просто «додавання рядків».

Щоб склеїти два рядки, потрібно використати знак +. Це дуже просто:

"значення1" + "значення2"
Конкатенація двох рядків

Приклади:

Команда Примітка
String name = "Аня" + "Аня";
name містить рядок АняАня
String city = "New York" + "Аня";
city містить рядок New YorkАня
String message = "Hello! " + "Аня";
message містить рядок Hello! Аня

Ну і, звісно, одночасно можна додавати багато рядків, а також додавати рядки та змінні.

Приклади:

Команда Примітка
String name = "Аня";
String city = "New York";
String message = "Hello!" + city + name + city;
name містить рядок Аня
city містить рядок New York
message містить рядок
Hello!New YorkАняNew York

У цьому прикладі видно, що у змінної message погано читається, оскільки у ньому не вистачає пробілів. Щоб задати один пробіл або кілька, потрібно просто написати їх у коді і обернути у подвійні лапки. Це простіше, ніж здається:

" "
Рядок, що містить один пробіл

До речі, якщо між лапками зовсім не залишити місця (написати дві подвійні лапки підряд), вийде так званий «порожній рядок»:

""
Порожній рядок

З одного боку, він нібито і є, а з іншого – у разі його виведення на екран нічого не виводиться. І у разі склеювання з іншими рядками нічого не відбувається. Такий собі аналог нуля, тільки для рядків.


1
Задача
Модуль 1. Java Syntax,  2 рівень6 лекція
Недоступна
Повнометражна картина
У змінній centimeters записана кількість сантиметрів. У змінну meters потрібно записати кількість повних метрів, яка міститься в centimeters (1 метр = 100 см). Для обчислення використовуй змінну centimeters і оператор ділення. Для оголошення та ініціалізації змінної meters використовуй одну команду.

2. Перетворення до рядкового типу

Як вже зазначалося вище, розробники Java зробили так, що абсолютно всі змінні, об’єкти, вирази в Java можна перетворити на тип String.

До того ж це автоматично відбувається, коли ми додаємо тип String до будь-якого іншого типу. Приклади:

Команда Примітка
int a = 5;
String name = "Аня" + a;
name містить рядок Аня5
int a = 5;
String city = a + "New York" + a;
city містить рядок 5New York5
int number = 10;
String code = "Yo";
String message = "Hello! " + number + code;
message містить рядок Hello! 10Yo

У всіх трьох прикладах ми спокійно додавали змінні типу int і String, і в результаті завжди отримували тип String.

Арифметичні операції з типом String проводити не можна. Навіть якщо рядок повністю складається із цифр.

Приклади:

Команда Примітка
int a = 5;
String name = "1" + a;
name містить рядок 15
int a = 5;
String city = a + "9" + a;
city містить рядок 595
int number = 10;
String code = "10";
String message = "" + number + code;
message містить рядок 1010

Операція додавання виконується зліва направо, тому результат може бути дещо несподіваним. Приклад:

Команда Примітка
int a = 5;
String name = a + a + "1" + a;
name містить рядок 1015
Порядок виконання: ((a + a) + "1") + a

3. Перетворення рядка на число

Щоб перетворити число на рядок на Java, достатньо додати його і порожній рядок:

String str = "" + число;
Перетворення числа на рядок

А ось що робити, якщо потрібно перетворити рядок на число? Проте будь-який рядок на число перетворювати не можна. Але якщо рядок містить тільки цифри, то все ж можна. Для цього є спеціальний метод у класу Integer.

Виглядає ця команда так:

int x = Integer.parseInt(рядок);

Де int x – це оголошення цілісної змінної x, а рядок — це число, задане у вигляді рядка (рядок складається із цифр).

Приклади:

Команда Примітка
String str = "123";
int number = Integer.parseInt(str);
number містить число 123;
int number = Integer.parseInt("321");
number містить число 321
int number = Integer.parseInt("321" + 0);
number містить число 3210
int number = "321";
Не скомпілюється: змінна типу int, а значення типу String

4. Переведення об’єкта/примітива у рядок

Для переведення екземпляра будь-якого Java-класу або будь-якого примітивного типу даних до рядкового представлення можна використовувати метод String.valueOf():
public class StringExamples {
    public static void main(String[] args) {
        String a = String.valueOf(1);
        String b = String.valueOf(12.0D);
        String c = String.valueOf(123.4F);
        String d = String.valueOf(123456L);
        String s = String.valueOf(true);

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(s);

        /*
        Вивід:
        1
        12.0
        123.4
        123456
        true
         */
    }
}

5. Деякі методи роботи з рядками

Ну і насамкінець хотілося б розповісти про кілька методів типу String.

Метод length()

Метод length() дає можливість дізнатися довжину рядка – скільки в ньому символів.

Приклади:

Команда Примітка
String name = "Rome";
int count = name.length();
count містить значення 4
int count = "".length();
count містить значення 0
String name = "Rom";
int count = (name + 12).length();
count містить значення 5

Так, методи можна викликати у всього, що має тип String, навіть у виразі:

(name + 12).length()
Виклик методу length() у виразі типу String

Метод toLowerCase()

Метод toLowerCase() дає можливість перетворити всі символи рядка на маленькі (рядкові):

Приклади:

Команда Примітка
String name = "Rom";
String name2 = name.toLowerCase();
name2 містить рядок rom
String name = "".toLowerCase();
name містить пустий рядок
String name = "ROM123";
String name2 = name.toLowerCase();
name2 містить рядок rom123

Метод toUpperCase()

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

Приклади:

Команда Примітка
String name = "Rom";
String name2 = name.toUpperCase();
name2 містить рядок ROM
String name = "rom123";
String name2 = name.toUpperCase();
name2 містить рядок ROM123

2
Задача
Модуль 1. Java Syntax,  2 рівень6 лекція
Недоступна
Остання цифра числа
У змінній number записане число. У змінну lastDigit потрібно записати останню цифру цього числа. Для обчислення використовуй змінну number і оператор «остача від ділення». Для оголошення та ініціалізації змінної lastDigit використовуй одну команду. Підказка: ділити потрібно на 10.
2
Задача
Java Syntax Zero,  2 рівень4 лекція
Недоступна
9 — це перевернута цифра 6
Використовуючи лише оператор інкремента, зміни значення змінної six, щоб на екран було виведено цифру 9.