java语言;将08赋值给int类型变量出错;提示为过大的整数。int占四个字节表示范围-65536-+65535。08为什么过大?本质原因是什么?怎么存储的呢

解决方案 »

  1.   


    +10分。PS:0打头的数字是八进制,可用的数字是0-7(8进制还可以写成这样:'\0' = 0,'\7' = 7)
    0x打头的是16进制,可用的字符是0-9,A-F(不区分大小写)
      

  2.   

    int类型的数表示范围是:-2*10^31~2*10^31-1;如果int类型的数是楼主据说的范围的话,那神七火箭还不一头栽到太平洋里.呵呵^-^
    以0开头的数表示为8进制
    以0x开头的数表示为16进制
      

  3.   

    java中int 类型的范围是:-2147483648 到2147483648 ;再说08,数字前面加一个0,表示这个常量是一个8进制数,而8进制数是没有“8”这个数字的,只有0->7,所以会出现过大。比如010或07,06,05,等就没问题了,这个8进制数就是十进制中的“8”。所以就出现报错现象;
      

  4.   

    这样的问题应先在google一下。
      

  5.   

    纠正一个小问题,int是4字节的并非LZ所言的双字节。
      

  6.   

    0代表八进制。不能有8呀!prefix constant with 0 represnt Octal number!!!!给我点分吧!!!!!
      

  7.   

    用long,你给的常量值太大不是int
    在常量后面加L声明为long例如:63L
      

  8.   

    0打头的数字是八进制,可用的数字是0-7(8进制还可以写成这样:'\0' = 0,'\7' = 7)
    0x打头的是16进制,可用的字符是0-9,A-F(不区分大小写)