Эта статья посвящена тому, как использовать символы, которые использовать напрямую нельзя.
Далеко не все символы, которые могут пригодиться (в том числе, при написании кода на Java), представлены в виде кнопок на клавиатуре. Конечно, можно вбить в поисковике “символ копирайта”, скопировать его и не серчать по поводу того, что он отсутствует на клавиатуре. Однако, не все символы можно даже представить в таком виде.
Кроме того, в коде, который программисты пишут на Java, есть некоторые зарезервированные символы. Например, двойные кавычки – они нужны для обозначения границ строк.
Давайте разберёмся, как в этом помогают escape-последовательности, что это такое и как их использовать.
Что такое escape-последовательности
Escape-последовательности – это специальные “команды” для компьютера в строках текста, которые позволяют вставлять специальные символы или управляющие действия в текст без смешивания с обычными символами.
Когда компьютер видит определенную escape-последовательность в строке, он выполняет соответствующее действие. Это может быть перенос строки, создание табуляции или возврат на один символ назад.
Простыми словами, это маленькие “магические слова”, которые говорят компьютеру, как вести себя с текстом, чтобы он выглядел так, как хочет программист.
Разные виды escape-последовательностей
Рассмотрим несколько наиболее распространённых escape-последовательностей. Впрочем, другие я в коде не встречала.
- \n – символ переноса строки, аналогично действию клавиши Enter;
- \t – символ табуляции, как клавиша Tab;
- \b – символ стирания последнего символа, действует как Backspace;
- \\ – символ обратного слеша. Почему нужно ставить целых два? Потому что один обратный слеш не воспринимается в Java как обратный слеш, он трактуется как преддверие Escape-последовательности (например, \n);
- \” – символ двойной кавычки. Почему перед ней нужно ставить обратный слеш? Потому что двойная кавычка в Java открывает и закрывает строку, и если перед ней не поставить обратный слеш, то строка просто закроется, а двойную кавычку так и не удастся поместить внутрь неё;
- \’ – символ одинарной кавычки, суть та же, что и с двойной.
Использование на практике
Теперь попробуем отформатировать текст с использованием этих escape-последовательностей.
1 2 3 4 5 6 7 8 9 |
public class FirstProject { public static void main(String[] args) { System.out.println("Сейчас будет перенос строки(\n)"); System.out.println("А сейчас будет табуляция(\t)"); System.out.println("Затем backspace(\b)"); System.out.println("Двойная кавычка(\")"); System.out.println("Одинарная кавычка(\')"); } } |
Символ переноса \n перенёс строку в том месте, где стоял, и поэтому две скобки разнесены на разные строки. Символ табуляции \t пододвинул правую скобку на расстояние TAB-а. А вот \b стёр последний символ – а последним была левая скобка. Поэтому в консоли её нет, только правая. Также были выведены двойная и одинарная кавычка, здесь уже без сюрпризов.
Знание escape-последовательностей расширяет возможности для работы с текстом. Порой это незаменимая вещь. Применяйте с умом!