这个程序的输出是什么以及如何?

时间:2014-12-21 06:40:08

标签: java

public class Test {
      public static void main(String[] args){
        int x=011;
        System.out.println(x+1);                                 
      }
    }

这个程序的输出是什么以及如何?

3 个答案:

答案 0 :(得分:1)

int x = 011;

该值以八进制表示法写入,表示十进制值:9。 它将打印数字10。

答案 1 :(得分:1)

official doc

查看此内容
  

整数文字可以用十进制(基数10),十六进制(基数16),八进制(基数8)或二进制(基数2)表示。

     

二进制数字由前导ASCII字符 0b 0B 组成,后跟一个或多个穿插有下划线的ASCII数字0或1,并且可以表示正数,零或负整数。

     

八进制数字由ASCII数字 0 组成,后跟一个或多个散布有下划线的ASCII数字0到7,并且可以表示正整数,零或负整数。

     

十六进制数字由前导ASCII字符 0x 0X 组成,后跟一个或多个散布有下划线的ASCII十六进制数字,并且可以表示正数,零或负整数

因此,对于您的程序,它的编写是octal

public class Test {
      public static void main(String[] args){
          int a = 000;
          int b = 001;
          int c = 010;
          int d = 011;

          int x=011;

        System.out.println(a + "\n");
        System.out.println(b + "\n");
        System.out.println(c + "\n");
        System.out.println(d + "\n");
        System.out.println(x+1);                                 
      }
    }

<强>输出

0

1

8

9

10

说明:

011 = 0 * 8 ^ 2 + 1 * 8 ^ 1 + 1 * 8 ^ 0 = 0 + 8 + 1 = 9.

自您增加后,它将显示10

答案 2 :(得分:0)

011是9是八进制基数。因此x + 1是10。