一个很小的点,在做题的时候被揪了出来
问 int i = 012; int j=034; int l=078; 在system.print.out()时为何值?
知识点:可以使用八进制、十六进制的类型:long, int, short, byte
八进制表示:以0作为前缀,数码有0,1,2,3,4,5,6,7,逢8进位
如:8(十进制)-->010(八进制)
十六进制表示:以0x作为前缀,数码有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,逢16进位
如:16(十进制)-->0x10(十六进制)
所以 int i=012; 为 8^2*0+8*1+2=10
073为 8^2*0+8*7+3=59 以此可以类推16进制的表达式。