您好我偶然遇到了我的朋友发给我的代码,而且我在编写print语句的第二部分时遇到了麻烦。a[3]
是4,它位于第0行第2列({{ 1}}),但为什么b[0][2]
为53,证明a[2]
是真的? (代码打印'真实'顺便说一句。)
b[2][1] == 43
答案 0 :(得分:12)
这是因为053
是十进制数等于43
的八进制数。
0
前缀表示Java和其他一些语言的八进制值(Perl,Ruby,C和派生,Javascript等等)。
答案 1 :(得分:3)
以0
开头的数字在Java中是八进制的。
在你的情况下,43
十进制等于053
八进制。
答案 2 :(得分:3)
在Java和其他几种语言中,以0
开头的整数文字被解释为八进制(base 8
)数量。此处053
是八进制数,在43
中的值为base 10
。
JLS说
八进制数字由ASCII数字0后跟一个或多个组成 ASCII数字0到7穿插着下划线,并且可以 表示正整数,零整数或负整数。
答案 3 :(得分:1)
在Java中,八进制数从0开始。因此,八进制53等于十进制43。