我观察到,在Java中当我这样做:为什么这发生在int?
public static void main(String[] args){
int i = 45;
int j = 045;
System.out.println("i:>>"+i);
System.out.println("j:>>"+j);
}
输出是:
i:>>45
j:>>37
为什么发生这种情况?当它是45
时,j
的值打印为37
?
有人请指导吗?提前致谢。
前导零意味着该数字被视为八进制数。其基本的任何编程语言都是 – devnull
..任何以0开头的数字都被认为是一个八进制数字 –