【问题标题】:What is the backslash character (\\)?什么是反斜杠字符 (\\)?
【发布时间】:2012-08-23 12:22:54
【问题描述】:

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

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

输出为:Mango \ Nightangle

这个字符串字面量有什么意义?

【问题讨论】:

  • 只是另一个字符。反斜杠本身是一个转义字符,因此必须自行转义才能仅打印一个反斜杠。除此之外,没有什么特别的意义。
  • "这个字符串字面量的意义是什么?"实际的字符串值为Mango \ NightangleMango \\ Nightangle 是编码形式,双反斜杠是 Java 需要特殊字符的转义序列。因此,单个反斜杠会导致编译错误。
  • 在英语中使用正斜杠更为常见,例如“Mango / Nightangle”,例如和/或

标签: java string string-literals


【解决方案1】:

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

如果你愿意

  • 转到下一行然后使用\n\r
  • 标签使用\t
  • 同样打印一个\",它们在字符串文字中是特殊的,你必须用另一个\来转义它,这给了我们\\\"

【讨论】:

  • 打印反斜杠是什么意思?
  • 我的意思是如果你想打印 a\z 那么你必须使用 a\\z
  • 感谢您提供的信息。但我想使用 \n 转到 LocaleString 中的下一行。我在属性文件中的 LocaleString 值中添加了 \n ,但它仍然不支持我想要实现的目标。我的目标是在 JTable 标题中创建下一行。它似乎在 String 中工作(即使只有一个反斜杠),但不是在 LocaleString 中。能给点建议吗?
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    如果你觉得双反斜杠很奇怪,C# 还允许 verbatim string literals 不需要转义。

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

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

    【讨论】:

    • 一个有趣的信息虽然:)。也许通过扩展语言可以实现这样的事情。
    • 它被标记为 java 但他没有明确询问 Java。他发布的 wiki 是关于转义序列的,因此 @AndyMcCluggage 可以发布此内容。不知道为什么它被否决了……是因为他没有回答问题吗?
    【解决方案4】:

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

    例如

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

    输出

    printing "this" in quotes
    

    【讨论】:

      【解决方案5】:

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

      \n 打印换行符
      \\ 打印反斜杠
      \" 打印“
      \t打印一个制表符
      \b 将光标向后移动

      【讨论】:

      • 在 Java 中,尝试单独打印 \ 会产生编译器错误。 System.out.println("Won't print \ back-slash"); 给出错误Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ ) - 所以\ prints a backslash 部分不正确。 \\ prints a backslash 是真的
      【解决方案6】:

      System.out.println() 中键入这些特定值时,\ 本身用于转义特殊字符,例如 \n(新行)、\t(制表)、\"(引号)声明。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-28
        • 1970-01-01
        • 2011-05-18
        • 2023-04-08
        • 2021-06-15
        • 2013-11-14
        • 1970-01-01
        • 2016-03-12
        相关资源
        最近更新 更多