int[] arr = new int[10];下列答案正确的是?
A. arr[0] 是null 
B. arr[10]是0 
C. arr[9] 是0 
D. arr[0] 是0 

解决方案 »

  1.   

    CD, java会隐式地对变量、数组等进行初始化,如果是int 类型数据,用户没有赋值前,自动赋值为0,
    B选项是数组越界,CD正确
      

  2.   

    都是0,你是int类型的数组,Int类型的默认值就是0,如果你是Integer [] arr = new Integer[10],那就是null
      

  3.   

    CD。B越界,数组下标都是从0开始,而new int[10]长度为10,所以这个数组元素下标是0、1、2 ... 8、9所以B错误。而因为这个是基本数据类型的数据,所以不能为null
      

  4.   

    答案是:C,D
    原因:数组创建的时候是自动初始化的,初始化的值是看它的声明类型,int是0,byte是0等等,你可以去查查,如果是引用类型的话,初始值则为null.当然你给数组每个值赋值的时候,不可越界,否则发生数组越界错误。
      

  5.   

    应该是A吧,因为new的过程只是给数组分配两个空间,并没有真正的赋值。同意的顶一下呗 、、、
      

  6.   

    c d
    因为是int 类型  所以只创建 而不去实例化 都是0
    如果是Integer  那就是null