Объявление текстовых блоков
Пишите многострочные строки в тройных кавычках
«Объявление текстовых блоков» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 4 уроков всего.
Проблема многострочного текста
До Java 15 для записи многострочного текста приходилось объединять строки с помощью \n и +. Такой код было трудно читать и легко написать неправильно. Текстовые блоки решают эту проблему.
Тройные кавычки
Текстовый блок начинается с трёх двойных кавычек """, за которыми следует перевод строки, затем идёт содержимое и закрывающие """. Всё между ними является строкой.
public class Main {
public static void main(String[] args) {
String message = """
Hello
World
""";
System.out.println(message);
}
}Правило первой строки
Содержимое обязательно должно начинаться на строке после открывающего """. Нельзя помещать текст сразу после открывающего разделителя. Этот перевод строки является обязательной частью синтаксиса.
public class Main {
public static void main(String[] args) {
String poem = """
Roses are red
Violets are blue
""";
System.out.println(poem);
}
}Переводы строк добавляются автоматически
Каждый перевод строки в текстовом блоке становится \n в результирующей строке. Вам больше не нужно вручную записывать escape-последовательности для концов строк.
public class Main {
public static void main(String[] args) {
String list = """
Apples
Bananas
Cherries
""";
System.out.print(list);
}
}Больше никакой конкатенации
Сравните старый способ ("a\n" + "b\n") с текстовым блоком. Текстовый блок выглядит точно так же, как результат, поэтому ошибки сразу заметны.
public class Main {
public static void main(String[] args) {
String html = """
<html>
<body>Hi</body>
</html>
""";
System.out.println(html);
}
}Кавычки без экранирования
Внутри текстового блока отдельные двойные кавычки " не нужно экранировать. Это особенно удобно для содержимого с кавычками, например JSON.
public class Main {
public static void main(String[] args) {
String json = """
{"name": "Alice", "age": 30}
""";
System.out.println(json);
}
}Текстовый блок всё ещё является строкой
Результат представляет собой обычный String. Вы можете вызвать для него любой метод String, объединить его с другими строками или передать в другие методы.
public class Main {
public static void main(String[] args) {
String text = """
one
two
""";
System.out.println("Length: " + text.length());
System.out.println("Upper: " + text.toUpperCase());
}
}Объединение текстовых блоков
Текстовый блок можно соединить с другими строками с помощью +, как и любой строковый литерал.
public class Main {
public static void main(String[] args) {
String name = "Bob";
String greeting = """
Dear customer,
""" + "Welcome " + name;
System.out.println(greeting);
}
}Пустые строки сохраняются
Пустые строки внутри блока сохраняются в строке как пустые строки. Благодаря этому можно естественно форматировать вывод с интервалами.
public class Main {
public static void main(String[] args) {
String spaced = """
Title
Body text
""";
System.out.print(spaced);
}
}Читаемые фрагменты кода
Текстовые блоки особенно полезны при встраивании содержимого, похожего на код. Здесь небольшой фрагмент псевдоконфигурации остаётся полностью читаемым.
public class Main {
public static void main(String[] args) {
String config = """
host = localhost
port = 8080
debug = true
""";
System.out.print(config);
}
}Подсчёт строк
Поскольку переводы строк являются настоящими символами, текстовый блок можно разделить по \n, чтобы обработать каждую строку.
public class Main {
public static void main(String[] args) {
String data = """
red
green
blue
""";
String[] lines = data.split("\n");
System.out.println("Lines: " + lines.length);
}
}Проверка знаний
С чего должна начинаться содержимое текстового блока?
Итоги
Вы научились объявлять текстовые блоки:
- Открывайте и закрывайте их с помощью
""" - Содержимое должно начинаться на следующей строке
- Переводы строк автоматически становятся
\n - Двойные кавычки не нужно экранировать
- Результатом является обычный
String
Часто задаваемые вопросы
Урок «Объявление текстовых блоков» бесплатный?
Да — полный текст урока «Объявление текстовых блоков» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 4 уроков всего.
Чему я научусь в уроке «Объявление текстовых блоков»?
Пишите многострочные строки в тройных кавычках Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Объявление текстовых блоков»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Объявление текстовых блоков
- Отступы и удаление пробелов
- Экранирование в текстовых блоках
- Варианты использования: JSON и SQL