本文主要講解java中array數組使用,包含堆、棧內存分配及區別
1.動態初始化
package myArray; /* * 堆:存儲的是new出來的東西,實體,對象 * A 每個對象都有地址值 * B 每個對象的數據都有默認值 * byte,short,int,long 0 * float,double 0.0 * char '\u0000' * boolean false * 引用類型 null * C 使用完畢會在垃圾回收站空閑時被回收 *
* 動態初始化:
* 數據類型[] 數組名 = new 數據類型[數組長度];
* */ public class ArrayTest { public static void main(String[] args) { int[] arr = new int[3];//指定數組長度 System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); System.out.println("------------"); arr[0] = 100; System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); } }
打印結果
2.靜態初始化
package myArray; /* * 靜態初始化的格式: * 數據類型[] 數組名 = new 數據類型[]{元素1,元素2,元素3,...}; * * 舉例: * int[] arr = new int[]{1,2,3}; * * 簡化格式: * 數據類型[] 數組名 = {元素1,元素2,元素3,...}; * int[] arr = {1,2,3}; */ public class ArrayJingTaiChuShiHua { public static void main(String[] args) { int[] arr = {1,2,3,4}; System.out.println(arr[3]); } }
結果如下
java中內存分配圖
一些名詞解釋
數組:存儲同一種數據類型的多個元素的容器。
數組初始化: A:所謂的初始化,就是為數組開辟內存空間,並為數組中的每個元素賦予初始值 B:我們有兩種方式可以實現數組的初始化 a:動態初始化 只給出長度,由系統給出初始化值 b:靜態初始化 給出初始化值,由系統決定長度
//輸出數組名
// System.out.println("arr:"+arr); //[I@104c575
//我們獲取數組的地址值是沒有意義的,我要的是數組中的元素值,該怎么辦呢?
//不用擔心,Java已經幫你想好了這個問題
//其實數組中的每個元素都是有編號的,編號從0開始,最大的編號是n-1
//通過數組名和編號的配合使用我們就可以獲取指定編號的元素值
//這個編號的專業叫法:索引
//訪問格式:數組名[索引]