首頁 > 軟體

由淺入深快速掌握Java 陣列的使用

2022-04-09 19:00:41

1.陣列定義格式

1.1 陣列概述

* 一次性宣告大量的用於儲存資料的變數

* 要儲存的資料通常都是同型別資料。

1.2 什麼是陣列

陣列(array)是一個儲存多個相同型別資料的儲存模型

1.3 陣列的定義格式:

格式1:資料型別[ ]  變數名

範例:           int[ ]  arr

定義了一個int型別的陣列,陣列名是arr

格式2:資料型別  變數名[ ]

範例:           int  arr[ ]

定義了一個int型別的變數,變數名是arr陣列

2.陣列初始化之動態初始化

2.1 陣列初始化概述

java中的陣列必須先初始化,然後才能使用

所謂初始化:就是為陣列中的陣列元素分配記憶體空間,併為每個元素賦值

2.2 陣列初始化方法

動態初始化

動態初始化:初始化時只指定陣列長度,由系統為陣列分配初始值

格式:

陣列型別[ ] 變數名 = new 資料型別[陣列長度];

範例:           

int[ ]    arr    =   new         int[3];

範例程式碼:

	int [] arr = new int[3];
		/*
		 * 左邊:
		 *     int:說明陣列中的元素是int型別
		 *     []:說明這是一個陣列
		 *     arr:這是一個陣列的名稱
		 * 右邊:
		 *     new:為陣列申請記憶體空間
		 *     int:說明陣列中元素型別是int型別
		 *     []:說明這是一個陣列
		 *     3:陣列長度,其實就是陣列中元素個數
		 *  
		 */

3.陣列元素存取

3.1 陣列元素存取

* 陣列變數存取方式

* 格式:

陣列名

* 陣列內部儲存資料的存取方式

* 格式:

陣列名[索引]

* 索引是陣列中資料的編號方式

* 作用:索參照於存取陣列中的資料使用,陣列名[索引]等同於變數名,是一種特殊的變數名

* 特徵:索引是從0開始,是連續的,是逐一增加每次加1的。

//輸出陣列名
		System.out.println(arr);//[I@dcf3e99
		 //輸出陣列中的元素
		System.out.println(arr[0]);
		System.out.println(arr[1]);
		System.out.println(arr[2]);

4.記憶體分配

4.1 java中的記憶體分配

 棧記憶體:儲存區域性空間

堆記憶體:儲存new出來的內容(實體,物件)

4.2 陣列記憶體圖(單個陣列)

		//輸出陣列名
		System.out.println(arr);//[I@dcf3e99
		 //輸出陣列中的元素
		System.out.println(arr[0]);
		System.out.println(arr[1]);
		System.out.println(arr[2]);
		
		//給陣列中的元素賦值
		arr[0]=10;
		arr[2]=100;
		 //輸出陣列中的元素
		System.out.println(arr);
		System.out.println(arr[0]);
		System.out.println(arr[1]);
		System.out.println(arr[2]);

控制檯輸出結果:

4.3 多個陣列記憶體圖

5.陣列初始化之靜態初始化

靜態初始化: 初始化時指定每個元素的初始值,由系統決定陣列長度

格式:

資料型別[ ] 變數名 = new 資料型別[ ] {資料1, 資料2, 資料3....};

範例:

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

簡化格式:

資料型別 [ ] 變數名 = {資料1,資料2,資料3....};

範例:

int[ ] 變數名 = {1,2,3};

範例程式碼:

	int [] arr = {1,2,3};
	//輸出陣列名
		System.out.println(arr);//[I@dcf3e99
		 //輸出陣列中的元素
		System.out.println(arr[0]);
		System.out.println(arr[1]);
		System.out.println(arr[2]);

6.陣列操作的兩個常見小問題

1. 索引越界:存取了陣列中不存在的索引對應的元素,造成索引越界問題

int[ ] arr = new int [3];

system out.println(arr[3]);

2.空指標異常:存取的陣列已經不在指向堆記憶體的資料,造成空指標異常

int[ ] arr = new int [3];

system out.println(arr[2]);

arr = null;

system out.println(arr[0]);

3.null:空值,參照資料型別預設值,表示不指向任何有效物件

7.陣列常見操作

7.1 遍歷

通用格式

int []arr={...};
for(int x=0;x<arr.length;x++){
	arr[x];   //對arr[x]進行操作
}

7.2 獲取陣列元素個數

格式:

陣列名.length

範例:

arr.length

7.3 獲取最值

範例程式碼:

 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//定義陣列
		int []arr={15,66,75,42,85,45,87,99,10};
		//定義一個變數,用於儲存最大值
		//取陣列中第一個資料作為變數初始值
		int max= arr[0];
		//與陣列中剩餘元素逐個比對,並將最大值儲存在變數中
		for(int x=0;x<arr.length;x++){
 
			if(arr[x]>max){
				max=arr[x];
			}  
 
		}
		//迴圈結束後在控制檯列印變數值
		System.out.println("max:"+max);
	}

到此這篇關於由淺入深快速掌握Java 陣列的使用的文章就介紹到這了,更多相關Java 陣列內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com