因为a是一个引用,直正的内容在堆里,还没有分配堆内存的呢。
那么引用怎么可能有值等于0呢???

解决方案 »

  1.   

    基本类型初始化成0
    对象初始化为null
      

  2.   

    系统只是给数组分配了空间,你还没有对它进行初始化,int 类型的就默认是0.
      

  3.   

    那你不能否认int[]a ,a 是引用啊(因为它可以调用方法)
    既然是引用,就应该初值化为null
      

  4.   

    数组里面的元素是有初始值的,整型元素的初始值为0如果是int[] a;这样的话就单单是申明了一个对该数组的引用,不会对数组元素分配内存空间
      

  5.   

    默认值是0,堆已经分配内存了
    所以应用不是null啊
      

  6.   

    后边的前面的int[] a,a是引用,后面的new int[5],就不是引用了吧,就是说你a引用指向一个数组,数据初始化是0应该是这样的吧
      

  7.   

    是 0 啊
    数组初始化就是O哦
    对象类型的是NULL 
    整型的是0
    浮点的是0.0
      

  8.   

    基本类型默认都是0
    boolean:false
    byte:(byte)0
    char: '\u0000'
    short :(short)0
    int:0
    long:0L
    float:0f
    double:0d
    引用没指向对象之前默认为null
      

  9.   

    ! 你好,那个值i=0是数组的下标 并可以做为值传递组数组变量,懂吗?
    比如:
      int a[] = new int[5]
    for(int i=0; i<5; i++) {
        a[i] = i + 1;
        System.out.println(a[i]);
    }一些相关的基本数据类型初始值如下:boolean:false
    char: '\u0000' 
    byte:(byte)0 
    short :(short)0 
    int:0 
    long:0L 
    float:0.0f 
    double:0.0d 所有引用类型的对象引用默认值为null 
      

  10.   


    正解啊! int默认值为0的。
      

  11.   

    java中数据的基本类型在声明的时候默认的初始值就是0
    而对象的初始值在声明的时候是null
      

  12.   

    如果未初始化:
    1.基本类型的数值为“0”
    2.引用对象类型为“null”
      

  13.   

    我的意思是没有分配空间,好不好?
    int[] a = new int[10];
    Object[] b = new Object[10];//我可以证明,它没有分配空间,只是
    基本数据类型,我没有证据证明它是分配空间的。
    按类似推理,即使都是数组类,都是在堆里分配内存的,我就有理由相信:
    int[] a = new int[10];也只是声明,没有分配。
      

  14.   

    当然是零啦,因为INT数据类型的初值是零啦,如是对象型,就是NULL
      

  15.   

    你没有初始化,你是声明的一个数组,在java中,数组是一个对象,所以系统默认初始化为null
      

  16.   

    数组的名称默认是数组的第一个元素,int[] a中,a默认是a[0],所以是0
      

  17.   

    如果在类一级声明,所有的都会有默认值,类是null,boolean是false,数字是0如果在方法里面,则必须手工初始化,否则不能直接使用。 
      

  18.   

    1.int[] a = new int[5]是做为类的一个属性声明的吗?如果是他们将自动初始化为0
    2.如果不是做为类的属性声明的话,他们将都没有值
    3.int 类型是基础数据类型,即使你是用new出来的,它也是基础数据类型,不是类的对象,应该是在堆上分配的内存
    4.a 是数组的引用,直接访问a 就如同Object[] obj = new Object[5] 直接访问obj一样得到的是一个地址
      

  19.   

    去看看think in java里关于数组初始化的那章,8个基本类型的数组初始化都是被赋初始值的
      

  20.   

    基础数据类型初始化都为0
    你这句话就说得不对了,如果是boolean char 也是0吗?如果是整形数组的话,那初始化的时候是0,int 类型也只有是数组的时候才有默认值
      

  21.   

    int i;System.out.println(i);错的,jdk1.5下编译就不行了
    int []i=new int[5];System.out.println(i[0]);结果是0