class A
{
   public static void main(String[] args)
   {
      int x=08; //在编译时,提示有错误:过大的整数: 08
      System.out.println(x);
   }
}08算什么过大的整数啊?01到07都没问题,就是08到09提示出这个错误:过大的整数.
这是什么问题啊?

解决方案 »

  1.   

    java认为是8进制,08在8进制中是没有的
      

  2.   

    0开头是八进制,所以只能到07(1、2、3、4、5、6、7、0)
    0x开头是十六进制0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
      

  3.   

    class A
    {
      public static void main(String[] args)
      {
          int x=08; //0开头代表八进制,0x开头就是十六进制(08是非法的八进制-八进制里就没这个数)
          System.out.println(x);
      }