gpt4 book ai didi

java - 转义序列八进制表示法未按预期工作

转载 作者:行者123 更新时间:2023-12-01 16:47:19 25 4
gpt4 key购买 nike

class A {
public static void main(String args[]) {
char c= '\777';
System.out.println(c);
}
}

这会产生编译错误(在 Java 8 编译器上运行)。

转义序列的八进制表示法的格式为“\xxx”,但在上述情况下它不起作用,char c='\077' 起作用。

这可能是什么原因?

最佳答案

JLS, Section 3.10.6 ,“字符和字符串文字的转义序列”,指出八进制 char 文字最多可以有 3 个八进制数字,如果有 3 个,则第一个限制为 0-3。

OctalEscape:
\ OctalDigit
\ OctalDigit OctalDigit
\ ZeroToThree OctalDigit OctalDigit

OctalDigit:
(one of)
0 1 2 3 4 5 6 7

ZeroToThree:
(one of)
0 1 2 3

最大 \377 为十进制 255,因此看起来这样做是为了使该值适合一个(无符号)字节。

关于java - 转义序列八进制表示法未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48027505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com