數組及其在內存中的分配

1.一維數組

  • 數組概念:數組是儲存同一種數據類型多個元素的集合。也可以看成是一個容器。它既可以存儲基本數據類型,也可以存儲引用數據類型(後面介紹)。
  • 定義格式1: 數據類型[] 數組名;
      格式2: 數據類型 數組名[];
  • 數組的初始化動態初始化
      數組的初始化:數組必須先初始化,然後才能使用,就是爲數組中的數組元素分配內存空間,併爲每個數組元素賦值
      初始化分類:
        (1)動態初始化:只指定長度,由系統給出初始化值;
        (2)靜態初始化:給出初始化值,由系統決定長度。
        注意:這兩種方式只能用一種,不能進行動靜結合。
      動態初始化格式:
        數據類型[] 數組名 = new 數據類型[數組長度];
        數組長度其實就是數組中元素的個數。

    2.二維數組

  • 格式1:數據類型[][] 變量名 = new 數據類型[m][n];
      m表示這個二維數組有多少個一維數組,n表示每一個一維數組的元素個數。
      以下格式也可以表示二維數組(不推薦使用)
        a.數據類型 數組名[][] = new 數據類型[m] [n];
        b.數據類型[] 數組名[] = new 數據類型[m] [n];
    格式2:數據類型[] [] 變量名 = new 數據類型[m] [];
    格式3:數據類型[] [] 變量名 = new 數據類型[] []{{元素···},{元素···}....}

    3.數組在內存中的分配

  • 棧:存放局部變量
      局部變量:在方法定義中或者方法聲明上的變量。
  • 堆:存放的是所用new出來的東西
      特點:(1)每一個new出來的東西都會爲其分配一個地址值;
        (2)每一個變量都有一個默認的值
          byte,short,int,long--0
          float,double---0.0
          char--‘\u0000’
          boolean--false
          引用數據類型--null
        (3)使用完畢就變成了垃圾,等待垃圾回收器對其回收。
  • 方法區
  • 本地方法區(和系統有關)
  • 寄存器(CPU使用)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章