0Pricing
Java Academy · Урок

Объявление текстовых блоков

Пишите многострочные строки в тройных кавычках

«Объявление текстовых блоков» — бесплатный урок 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 — локальная установка не требуется.

Все уроки этого курса

  1. Объявление текстовых блоков
  2. Отступы и удаление пробелов
  3. Экранирование в текстовых блоках
  4. Варианты использования: JSON и SQL
← Назад к Java Academy