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

什么是string文字\\ 反斜杠 ? 它有什么作用? 我曾经想过,但我不明白。 我也读过维基百科 。 当我尝试打印以下内容时:

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

输出结果是: Mango \ Nightangle

这个string文字的意义是什么?

\被用作许多编程语言(包括Java)中的转义序列。

如果你想

  • 转到下一行然后使用\n\r
  • 供选项卡使用\t
  • 同样打印一个\"这是特殊的string文字,你必须逃避它与另一\这给我们\\\"

想象一下,你正在devise一种编程语言。 你决定用引号括起string(“苹果”)。 那么你打你的第一个障碍:如何代表引号,因为你已经使用它们? 只是出于惯例,你决定使用\"来表示引号,然后你有第二个问题:如何表示\ ?再一次,出于惯例,你决定使用\\ 。谢天谢地,这个过程就结束了,这就足够了也可以使用所谓的转义序列来表示其他字符,例如回车( \n )。

\用于编程语言的转义序列。

\n打印换行符
\\打印一个反斜杠
\"打印”
\t打印一个制表符
\b将光标移回

它用于转义特殊字符并按原样打印。 例如,要打印用于包围string的双引号,则需要使用反斜线字符进行转义。

例如

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

输出

 printing "this" in quotes 

当在System.out.println()语句中键入这些特定值时, \"自己用于转义特殊字符,如\n (换行), \t (制表符) \" (引号)。

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

如果双反斜杠看起来很奇怪,那么C#也允许不需要转义的逐字string文字 。

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

你不只是希望Java有这样的事情;-)