Бесплатный курс по java. Зарегистрируйтесь для отслеживания прогресса →

Java: Конкатенация

Программы, которые создают разработчики постоянно оперируют строками. Всё, что мы видим на сайтах, в мобильных приложениях, так или иначе представлено в виде текста. Этот текст чаще всего динамический, то есть полученный из разных частей, которые соединяются вместе. Операция соединения строк в программировании называется конкатенацией.

// Оператор такой же, как и при сложении чисел
// но здесь он имеет другой смысл (семантику)
System.out.println("Dragon" + "stone");
// => Dragonstone

Склеивание строк всегда происходит в том же порядке, в котором записаны операнды. Левый операнд становится левой частью строки, а правый — правой.

Вот еще несколько примеров:

System.out.println("Kings" + "wood"); // => Kingswood

// Обратный порядок слов
System.out.println("road" + "Kings"); // => roadKings

// Конкатенировать можно абсолютно любые строки
System.out.println("King's" + "Landing'); // => King'sLanding

Как видите, строки можно склеивать, даже если они записаны с разными кавычками.

В последнем примере название города получилось с ошибкой: King's Landing нужно писать через пробел. Но в наших начальных строках не было пробелов, а пробелы в самом коде слева и справа от символа + не имеют значения, потому что они не являются частью строк.

Из этой ситуации есть три основных выхода:

// Ставим пробел в левой части
System.out.println("King's " + "Landing"); //  => King's Landing

// Ставим пробел в правой части
System.out.println("King's" + " Landing"); //  => King's Landing

// Добавляем пробел отдельно
System.out.println("King"s" + " " + "Landing'); //  => King's Landing

Пробел — такой же символ, как и другие. Чем больше пробелов, тем шире отступы:

System.out.println("King's " + ' Landing');   // => King's  Landing

System.out.println("King's  " + '  Landing'); // => King's    Landing

Задание

Используя System.out.println(), выполните конкатенацию слов и выведите на экран фразу:

Winter came for the House of Frey.

Каждое слово должно быть записано отдельно и взято в кавычки, например 'Winter '. Не забудьте о пробелах после каждого слова.


Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе