开发者社区> 问答> 正文

java数组的初始化问题

java数组在使用之前一定要初始化吗?为什么?如果不进行初始化,底层的状态是什么?使用的话会发生什么错误?

展开
收起
蛮大人123 2016-03-19 11:20:54 2154 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    数组的初始化分为两种!
    即为:静态初始化和动态初始化!
    简而言之,静态初始化就是,由程序员去指定显式(注意是显式)指定每个元素的值,系统自动判定数组长度。
    如下:
    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]);  
    }  
    2019-07-17 19:07:47
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载