java数组在使用之前一定要初始化吗?为什么?如果不进行初始化,底层的状态是什么?使用的话会发生什么错误?
数组的初始化分为两种!
即为:静态初始化和动态初始化!
简而言之,静态初始化就是,由程序员去指定显式(注意是显式)指定每个元素的值,系统自动判定数组长度。
如下:int[] array = {1,2,3};
动态初始化,则只需要指定长度,系统为元素自动分配初始值!int[] array=new int[3];
这样就是动态初始化。
那么这里就有些问题需要注意!
1 不管是那种初始化方法,一旦初始化完成,数组长度不可改变。
2 对于动态初始化方式,不同的数据类型,初始化的值则是不一样的。
如是int类型,那么初始化的值则为 0,如果是引用数据类型如String,或者数组 ,那么就是null.
在某些时候数组是不一定需要初始化的。
如下:
int[] array = {1,2,3};
int[] arr;
arr = array;
for(int i = 0 ; i < arr.length ; i ++){
System.out.println("arr["+i+"] = " + arr[i]);
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。