【问题标题】:Why is '\117' a valid character literal in Java? [duplicate]为什么 '\117' 在 Java 中是一个有效的字符文字? [复制]
【发布时间】:2013-02-03 17:27:12
【问题描述】:

我已经看到这个char 定义为 char ch = '\117'

'\117'是一种什么样的表现形式

例如,我知道escaped-sequence'\n',或者unicode`\udddd',其中d 是一个十六进制数字,但我从来没有见过'\117' 这样的东西生活! 令人惊讶的是,它确实编译! (输出为O

【问题讨论】:

标签: java character special-characters


【解决方案1】:

它是八进制的,是 C/C++ 的保留。

【讨论】:

    【解决方案2】:

    那是因为它是大写 O 字符的八进制表示。

    如果您尝试打印您的 char ch='\117'; ,您会看到它打印了 O

    【讨论】:

      【解决方案3】:

      这是字符“O”的八进制值,当我执行 system.out.println(..) 时,我得到了以下输出:

      char ch = '\117';
      System.out.println("Char is: " + ch);
      

      输出:

      Char is : O
      

      【讨论】:

      • 不止如此,它是一个八进制的ASCII值。
      • 抱歉,更新相同:) @EJP
      【解决方案4】:

      这是 ascii 的八进制表示。你可以在这里看到它的更多价值:http://donsnotes.com/tech/charsets/ascii.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-20
        • 1970-01-01
        • 2012-03-31
        • 1970-01-01
        • 2017-07-30
        • 1970-01-01
        • 1970-01-01
        • 2013-11-02
        相关资源
        最近更新 更多