天天看點

黑馬程式員——java基礎---數組

------Java教育訓練、Android教育訓練、iOS教育訓練、.Net教育訓練、期待與您交流! ------- 

一、數組的概念 

可以把數組想象成一個容器,這個容易用來存放同一種類型資料的集合。

把資料存入數組,數組會自動把存入的資料加上角标,也就是數組的索引。

二、數組的類型

常用的數組有一維數組,二維數組,三維數組 

1)一維數組的格式 

格式1.元素類型[] 數組名 = new 元素類型[元素的個數或數組長度]; 

例:int[] arr = new int [2]; 

格式2.元素類型[] 數組名 = new 元素類型{元素1,元素2,元素3}; 

例:int[] arr = new int {1,2,3}; 

還有一種簡寫的方式,

例:int [] arr = {1,2,3,4,5};(開發中常用這種方式)  

new 關鍵字:new 關鍵字是用來在堆記憶體中産生一個容器的實體。

注意!!——數組中的索引使用0開始的,也就是說數組中第一個元素的引用是0。 

——數組在堆記憶體中建立 有初始值 int 為0 ,boolean 為 false。 

資料是引用資料類型。不同于一般的常量引用。在記憶體中分為 棧和堆。如圖所示。 

黑馬程式員——java基礎---數組

2)二維數組的格式 

格式1. int[][] arr= new int[3][2]; 

以上表示名稱為arr的二維數組。有3個一維數組,每一個一維數組中有2個元素。 

格式2: int[][] arr= new int[3][]; 

表示有3個一維數組,沒個以為數組為null; 

格式3:int[][] arr = {{3,8,2},{2,7},{9,0,1,6}}  

表示數組初始化。  

二維數組在記憶體中存在的形式。

int [][] arr = new int [2][4];

黑馬程式員——java基礎---數組

三、數組操作中常見的問題

1、數組腳标越界異常(ArrayIndexOutOfBoundsException)。例:

int[] arr = new int[2];

System.out.println(arr[3]);

通路到了數組中的不存在的腳标時發生。

2、空指針異常(NullPointerException)。例:

int[]arr = null;

System.out.println(arr[0]);

arr引用沒有指向實體,卻在操作實體中的元素時。