long a = 4294967295L;(最后加个"L")就行了;
不然编译器会把4294967295当成一个INT来处理,当然太大了……

解决方案 »

  1.   

    这样就好了:
     long a=4294967295l;
     后边加个l,否则还是integer型的。
      

  2.   

    JAVA基本常识:
    对不带小数点的数,如123456,默认为int;
    对带小数点的,如1.0,默认为double;你没系统的学过JAVA吧?
      

  3.   

    我的意思是一个long型整数,
    在这个整数后面需要加L的
    有一个界限吧,以多大数为标准,从这个数往上,都需要在后面加L
      

  4.   

    这个就在你了,如果你定义为 long ,就必须加L,不然就视为int,如果你定义一个 long a=5; 因为你没加l,所以是int 的,如果是long a=5l;则是long类型的。并不是哪个界限以上就必须加,以下就不用加。