0

Unicode символ новой строки (\u000d) в Java

14

Заголовок: Почему закомментированный код выводит "Hello" на консоль в Java?

Описание проблемы:

У меня есть следующий фрагмент кода на Java:

public class Main {
    public static void main(String[] args) {
        // new Character(' \u000d System.out.println("Hello");
    }
}

В этом коде, хотя единственная строка в методе main() закомментирована, на консоли выводится "Hello". Это удивительно, поскольку кажется, что закомментированная строка содержит синтаксические ошибки. Если я уберу комментарий, код не будет работать, и возникнет ошибка компиляции.

Вопрос: Почему в этом случае выводится "Hello"?

1 ответ(ов)

0

Java обрабатывает escape-коды символов в исходном коде, а не только в строках.

Это позволяет использовать идентификаторы Unicode без необходимости кодирования в Unicode.

Поэтому \u000d в комментарии интерпретируется как символ новой строки, что завершает комментарий и начинает инициализацию экземпляра.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь