什么是反斜杠字符(\\)?

时间:2012-08-23 12:22:54

标签: java string string-literals

字符串文字\\ 反斜杠是什么?它有什么作用?我已经考虑过了,但我不明白。我也在wikipedia上阅读了它。当我尝试打印以下内容时:

System.out.println("Mango \\ Nightangle");

输出为:Mango \ Nightangle

这个字符串文字有什么意义?

6 个答案:

答案 0 :(得分:23)

\用于许多编程语言中的转义序列,包括Java。

如果你想

  • 转到下一行,然后使用\n\r
  • 供标签使用\t
  • 同样要打印一个特殊于字符串文字的\",您必须使用另一个\来转义\\\"

答案 1 :(得分:7)

想象一下,您正在设计一种编程语言。您决定将字符串括在引号中(“Apple”)。然后你遇到了第一个障碍:如何表示引号,因为你已经使用过它们了?刚刚超出惯例,您决定使用\"来表示引号。那你有第二个问题:如何表示\?同样,在惯例之外,您决定使用\\代替。值得庆幸的是,这个过程结束了,这就足够了。您还可以使用所谓的转义序列来表示其他字符,例如回车符(\n)。

答案 2 :(得分:3)

它用于转义特殊字符并按原样打印它们。 例如。要打印用于包含字符串的双引号,您需要使用反斜杠字符对其进行转义。

e.g。

System.out.println("printing \"this\" in quotes");

输出

printing "this" in quotes

答案 3 :(得分:3)

\用于编程语言中的转义序列
\n打印换行符
\\打印反斜杠
\"打印“
\t打印制表符
\b将光标向后移动

答案 4 :(得分:0)

它上面的\用于在输入时转义特殊字符,例如\n(新行),\t(列表),\"(引号) System.out.println()语句中的这些特定值。

因此,如果你想打印一个反斜杠\,你就不能拥有它,因为编译器会期望一个特殊的字符(比如上面那个)。因此,要打印反斜杠,您需要将其转义,因为它本身也是这些特殊字符之一,因此,\\会产生\

答案 5 :(得分:-2)

如果双反斜杠看起来很奇怪,C#也允许verbatim string literals不需要转义。

Console.WriteLine(@"Mango \ Nightangle");

难道你不希望Java有这样的东西; - )