Java中int a[] =null和int a[] =new int[50];声明有什么区别

public class Test2 {

public static void main(String[] args) {
int a[] =null;
int j=0;
for (int i = 0; i <50; i++) {

int temp=(int) (Math.random()*100);

if(temp%2==0){
a[j]=temp;
j++;
}
System.out.printf(temp+" ");
}
System.out.println();
System.out.println("其中偶数有:");
for (int i = 0; i < a.length; i++) {
if(a[i]!=0)
System.out.printf(a[i]+" ");
}
System.out.println();
System.out.println(a.length);
}

}
这段程序为啥报错?当把int a[]=null;改成int a[]=new int[5];
程序就不会报错了?这是为什么?请大神帮我解答一下,谢谢。

第1个回答  2017-07-16
数组要初始化的呀,=null 定义变量但未初始化

~
~
~
~本回答被网友采纳
相似回答