Java Int数组-存储的数字与指定的数字不同

Java Int数组-存储的数字与指定的数字不同,java,arrays,Java,Arrays,我遇到了Java中最奇怪的问题 当我这样做时: int []s = new int [5]; s[0] = 026; s[1] = 0011; s[2] = 1001; s[3] = 0026; s[4] = 1101; 从调试模式看,存储在阵列中的数字是不同的,即存储的数字是22,91001,221101。你能给我一些提示吗?以0开始的文字字节、短字符、整数和长字符被解释为 整数类型(byte、short、int和long)可以使用十进制、八进制或十六进制数制表示。十进制是您每天已经使用的数

我遇到了Java中最奇怪的问题

当我这样做时:

int []s = new int [5];
s[0] = 026;
s[1] = 0011;
s[2] = 1001;
s[3] = 0026;
s[4] = 1101;

从调试模式看,存储在阵列中的数字是不同的,即存储的数字是22,91001,221101。你能给我一些提示吗?

0开始的文字字节、短字符、整数和长字符被解释为

整数类型(byte、short、int和long)可以使用十进制、八进制或十六进制数制表示。十进制是您每天已经使用的数字系统;它是基于10位数字,编号从0到9。八进制数字系统以8为基数,由数字0到7组成。十六进制是以16为基数的,其数字是数字0到9以及字母A到F。对于通用编程,十进位可能是您将使用的唯一数字系统。但是,如果需要八进制或十六进制,下面的示例将显示正确的语法。前缀0表示八进制,而0x表示十六进制


以0开头的数字被解释为格式。

带前导零的数字被解读为八进制。

带前导零的数字被称为八进制。

稍微正式一点:以0开头的整数文本被解释为八进制格式。四个相同的答案。。。