2015-09-20 2 views
-2

Почему эта строка печатает только «" \\ ""? Обратная косая черта делает что-то в строке? Пожалуйста, объясните функцию обратной косой черты. Все, что я знаю, это то, что это символ побега, но я не понимаю, почему он делает это для строк.System.out.println ("" "\\" "");

+0

FYI факт, что вы используете BlueJ, на самом деле не имеет отношения к делу. –

+0

@ManosNikolaidis Извините. Я думал, что это будет полезной информацией. Я отредактирую его. – TheUnicornMaster

ответ

3

Обратная косая черта '\' может использоваться в строках для добавления символов, которые в противном случае были бы незаконными (например, «и») или имели бы другое значение (например, t, b, n, r, f и \). конкретный пример:.

  1. первые 2 обратных слеша избежать двойные кавычки так \"\" печатается ""
  2. следующие обратные косые спасаясь обратный слэш, что сразу следуют так \\\\ печатается \\
  3. Последние 2 обратная косая черта ведет себя как первый 2 escapin г котировка так \"\" печатаются ""
+0

Я бы добавил для новичков: вы должны использовать люфт \ если вы не будете обрабатывать специальный символ как String, и это причина, почему это происходит. –

+0

Согласен. За исключением '/' это косая черта и '\' обратная косая черта. –

+0

Конечно. Полностью согласен. Глупая ошибка: S –

2

Backslash является маскирующим, используемой для кодирования специальных вещей, как " в вашей строке (которые обычно не могли использовать, потому что они отмечают конец строки). Вы должны прочитать «Строковые литералы» в official Java documentation или книгу, которую вы прочитали, чтобы изучить Java.