0Pricing
Java Academy · Урок

Экранирование в текстовых блоках

Используйте новые escape-последовательности

«Экранирование в текстовых блоках» — бесплатный урок Java Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 4 уроков всего.

Новые escape-последовательности для текстовых блоков

Текстовые блоки поддерживают все обычные escape-последовательности, а также две новые, предназначенные специально для них: продолжение строки \ и явный пробел \s. Они обеспечивают точный контроль над результатом.

Продолжение строки с помощью обратной косой черты

Завершение строки символом \ сообщает Java, что не нужно вставлять в этом месте перевод строки. Следующая строка присоединяется к текущей. Это позволяет переносить длинные логические строки для удобства чтения.

public class Main {
    public static void main(String[] args) {
        String text = """
            This is one \
            single long line.
            """;
        System.out.print(text);
    }
}

Преимущества продолжения строки

Вы можете оформить исходный код в нескольких физических строках, создав при этом одну строку результата. Это удобно для длинных предложений или URL.

public class Main {
    public static void main(String[] args) {
        String url = """
            https://example.com/\
            path/to/\
            resource
            """;
        System.out.print(url);
    }
}

Escape-последовательность пробела \s

Конечные пробелы обычно удаляются. Escape-последовательность \s вставляет обычный пробел, который переживает удаление и позволяет сохранить значимые пробельные символы в конце строки.

public class Main {
    public static void main(String[] args) {
        String text = """
            red  \s
            green\s
            """;
        for (String line : text.split("\n")) {
            System.out.println("|" + line + "|");
        }
    }
}

Сохранение выравнивания по столбцам

\s удобно использовать в таблицах фиксированной ширины, где конечные пробелы важны для выравнивания.

public class Main {
    public static void main(String[] args) {
        String table = """
            NAME\s\s\sAGE
            Alice\s\s30
            """;
        System.out.print(table);
    }
}

Стандартные escape-последовательности по-прежнему работают

Классические escape-последовательности, такие как \t для табуляции и \n для перевода строки, также работают внутри текстовых блоков.

public class Main {
    public static void main(String[] args) {
        String text = """
            Col1\tCol2
            A\tB
            """;
        System.out.print(text);
    }
}

Экранирование тройных кавычек

Чтобы включить в текстовый блок три идущие подряд двойные кавычки, экранируйте хотя бы одну из них с помощью \", чтобы Java не приняла их за закрывающий разделитель.

public class Main {
    public static void main(String[] args) {
        String text = """
            He said \"\"\" loudly.
            """;
        System.out.print(text);
    }
}

Буквальная обратная косая черта

Чтобы поместить в результат настоящую обратную косую черту, запишите \\, как и в обычных строках. Это важно для путей Windows и шаблонов регулярных выражений.

public class Main {
    public static void main(String[] args) {
        String path = """
            C:\\Users\\Alice
            """;
        System.out.print(path);
    }
}

Совместное использование продолжения строки и \s

Вы можете сочетать обе новые escape-последовательности. Здесь продолжение строки объединяет строки, а \s гарантирует наличие пробела в месте объединения.

public class Main {
    public static void main(String[] args) {
        String sentence = """
            Hello\s\
            World
            """;
        System.out.print(sentence);
    }
}

Предотвращение случайных переводов строк

Без продолжения строки каждый перенос строки в исходном коде становится переводом строки в результате. Добавление \ в конец строки удаляет его и даёт Вам полный контроль над расположением переносов.

public class Main {
    public static void main(String[] args) {
        String joined = """
            part1\
            part2\
            part3
            """;
        System.out.println(joined);
    }
}

Одинарная кавычка не требует экранирования

Внутри текстового блока одна двойная кавычка " сама по себе допустима. Внимания требуют только последовательности, которые могут образовать закрывающие """.

public class Main {
    public static void main(String[] args) {
        String quote = """
            She said "hi" to me.
            """;
        System.out.print(quote);
    }
}

Быстрая проверка

Что происходит, если завершить строку текстового блока одной обратной косой чертой \?

Повторение

Вы изучили escape-последовательности текстовых блоков:

  • \ в конце строки = продолжение строки (без перевода строки)
  • \s = пробел, который сохраняется после удаления конечных пробельных символов
  • Стандартные \t, \n и \\ по-прежнему работают
  • Экранируйте кавычку, чтобы встроить """
  • Одиночная " не требует экранирования

Часто задаваемые вопросы

Урок «Экранирование в текстовых блоках» бесплатный?

Да — полный текст урока «Экранирование в текстовых блоках» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 4 уроков всего.

Чему я научусь в уроке «Экранирование в текстовых блоках»?

Используйте новые escape-последовательности Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Java Academy?

Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Экранирование в текстовых блоках»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Java Academy?

Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

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

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