Java数组初始化

1.Java 数组初始化的两种方法:    

         静态初始化: 程序员在初始化数组时为数组每个元素赋值;

         动态初始化: 数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值。

     public static void main(String[] args) {
        //静态初始化数组:方法一
        String cats[] = new String[] {"Tom","Sam","Mimi" };
          //静态初始化数组:方法二
        String dogs[] = {"Jimmy","Gougou","Doggy"};
      //动态初始化数据
        String books[] = new String[2];
        books[0] = "Thinking in Java";
        books[1] = "Effective Java";
  
        System.out.println(cats.length);
        System.out.println(dogs.length);
        System.out.println(books.length);
     }
  Java数组是一种引用数据类型。数组变量并不是数组本身,而是指向堆内存中存放的数组对象。因此,可以改变一个数组变量所引用的数组。看下面这段代码:

     public static void main(String[] args) {
          //静态初始化数组:方法一
         String cats[] = new String[] { "Tom","Sam","Mimi"};
          //静态初始化数组:方法二
         String dogs[] = {"Jimmy","Gougou","Doggy"};
          //动态初始化数据
         String books[] = new String[2];
        books[0] = "Thinking in Java";
        books[1] = "Effective Java";
          cats = dogs;
          books = dogs;
       }
2.数组是否必须初始化

  对于这个问题,关键在于要弄清楚数组变量和数组对象的差别。数组变量是存放在栈内存中的,数组对象是存放在堆内存中的。数组变量只是一个引用变量,他能够指向实际的数组对象。

     所谓的数组初始化并非对数组变量初始化,而是对数组对象进行初始化。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。