java中的整数赋值

时间:2012-04-10 19:41:55

标签: java integer

public class Example {

    public static void main(String args[]) {
        int a = 0153;
        int b=a;
        System.out.println(""+b);
    }
}

有人可以解释为什么打印107而不是153

3 个答案:

答案 0 :(得分:2)

107的八分之一是0153

在Java中,您可以通过添加如下所示的前导零来创建八进制文字:int a = 0755;小心!指定八进制文字

是很常见的

答案 1 :(得分:0)

因为0开头的数字被认为是Java中的八进制值。八进制中的0153是十进制的107

答案 2 :(得分:0)

你写成八进制,打印默认为十进制。

         Input                            Prints (decimal)

Decimal   153                             153
         ^
         No leading zero (digits 0-9) 

Octal    0153                             107
         ^
         leading zero (digits 0-7)

Hex      0x153                            339
         ^^
         leading 0x (digits 0-F)