为什么这个数组到2d数组布尔值为true?

时间:2014-02-11 09:15:11

标签: java arrays syntax boolean

您好我偶然遇到了我的朋友发给我的代码,而且我在编写print语句的第二部分时遇到了麻烦。a[3]是4,它位于第0行第2列({{ 1}}),但为什么b[0][2]为53,证明a[2]是真的? (代码打印'真实'顺便说一句。)

b[2][1] == 43

4 个答案:

答案 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。