请问定义个数组变量作为Java中的局部变量,没有初始化怎么可以编译通过 int [ ]a=new i

请问定义个数组变量作为Java中的局部变量,没有初始化怎么可以编译通过
int [ ]a=new int[5];
打印a[ 0] 结果为0这是为何,不是局部变量一定要初始化么,不会默认初始化的吗?

1、数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素。
2、当你使用new关键字初始化时,会默认的给数组中的元素赋予想要类型的值,又如你new User()对象时,该对象堆内存中相应属性都会默认set为null;
3、认真查找下new关键字使用时,栈与堆内存的关系,及存储问题,理解透彻后对你日后的学习帮助很大。
4、在编程过程中,变量最好有初始值。
希望能帮到你。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-02
初始化数组,里面每个元素默认是null
而int、long、double这些没有null,默认是0
比如,int i = null;编译是会报错的
第2个回答  2013-05-02
你在new一个int型数组的时候,就像上面的那样,编译器会默认数组的每个组员的值为0,直至你赋予一个新的值
第3个回答  2013-05-02
java里面的int数组是有初始值的
如果未对数组赋值
String数组中的每个元素的值为null
int数组中的每个元素的值为0
这个是java虚拟机内部设定的,记住就ok啦本回答被网友采纳
相似回答