1.數組的定義
數組為相同類型的若干個數據,在一個數組里面,不能存放多種不同類型的數據,其中每個數據為該數組的一個元素,可以通過下標對改元素進行訪問。
1.1 數組的特點
(1)數組被創建后,長度就已經被確定了,無法改變。//int[] arr=new int[5];
(2)數組的元素都為同一種數據類型。
(3)數組是有序的,數組的元素通過下標進行標記,從0開始。
1.2 數組在內存中的分配方式
在程序進行編譯時,所占用的內存可分為:
(1)棧內存( stack ):基本數據類型分配在棧內存,棧內存空間不需要開發者回收,系統會自動回收。棧空間占整個內存空間的比例較小。
(2)堆內存(heap):引用數據類型分配在堆內存,堆內存需要開發者通過new 來申請,在申請的內存使用結束后要進行回收。jvm中有專門的垃圾回收機制(gc)回收使用完的堆內存。堆空間占整個內存空間的比例較大。
圖釋數組的在內存中的分配方式
在定義一個數組時,arr中存放的是地址,地址指向堆內存中0x1000這個內存空間。
2.數組的聲明方式
(1)數組的聲明方式
int[] arr = new int[5];
arr[0] = 10;
arr[1] = 20;
System.out.println(arr);
(2)值聲明
int[] arr2;
arr2 = new int[]{10,20,30,40,50};
(3)字面量聲明
int[] arr3 = {10,20,30,40};
3.數組的算法
3.1.插入算法
3.2 刪除算法
3.3 冒泡算法