Java數組02:三種初始化、內存分析及數組邊界

內存分析

在這裏插入圖片描述
在這裏插入圖片描述

三種初始化狀態

  • 靜態初始化
int[] a = {1,2,3};
Man[] mans = {new Man(1,1),new Man(2,2)};
  • 動態初始化
int[] a = new int[2];
a[0]=1;
a[1]=2;
  • 數組的默認初始化

    • 數組是引用類型,它的元素相當與類的示例變量,因此數組一經分配空間,其中的每個元素也被按照示例變量同樣的方式被隱式初始化。
  • 示例

public class ArrayDemo2 {
    public static void main(String[] args) {
        //靜態初始化 : 聲明加創建
        int[] a= {1,2,3,4,5,6};

        //動態初始化 : 包含,默認初始化
        int[] b = new int[10];

        b[0] = 10;

        System.out.println(b[0]);
        System.out.println(b[1]);  //輸出爲0,儘管我們沒有對進行賦值,可它還是存在一個默認的值

    }
}

數組邊界

  • 下標的合法區間:[0,length-1],如果越界就會報錯;
  • 示例
public class ArrayDemo3 {
    public static void main(String[] args) {
        int[] nums=new int[2];
        System.out.println(nums[2]); //報錯
    }
}
  • java.lang.ArrayIndexOutOfBoundsException: 數組下標越界異常
  • 小結:
    1. 數組式相同數據類型(數據類型可以爲任意類型)的有序集合
    2. 數組也是對象。數組元素相當於對象的成員變量
    3. 數組的長度式確定的,不可變的。如果越界,則報:ArrayIndexOutOfBoundsException
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章