为什么是'\117';Java中的有效字符文本?

为什么是'\117';Java中的有效字符文本?,java,character,special-characters,Java,Character,Special Characters,我见过这个char定义为 charch='\117' 中的'\117'是什么类型的表示法 例如,我知道转义序列是'\n',或者unicode是'\udddd',其中d是一个十六进制数字,但我一生中从未见过'\117'这样的东西! 令人惊讶的是,它确实可以编译!(输出是O)它是八进制的,是C/C++的保留。这是因为它是CapitalO字符的八进制表示 如果您试图打印char ch='\117',您将看到它打印O这是字符“O”的八进制值,当我执行system.out.println(..)时,我得到

我见过这个
char
定义为
charch='\117'

中的
'\117'
是什么类型的表示法

例如,我知道
转义序列是
'\n'
,或者
unicode
'\udddd'
,其中
d
是一个十六进制数字,但我一生中从未见过
'\117'
这样的东西!
令人惊讶的是,它确实可以编译!(输出是
O

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

这是因为它是CapitalO字符的八进制表示


如果您试图打印
char ch='\117',您将看到它打印
O

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

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

Char is : O

这是ascii的八进制表示。你可以在这里看到更多的值:

see。这是八进制表示法。看,尤其是。这可能是为了与旧的语言和程序员兼容。不仅如此,它是一个八进制的ASCII值。对不起,同样更新了:)@EJP