一、陣列的定義格式
1、資料型別 陣列名 = new 資料型別[陣列的大小/長度]; — 動態初始化
int arr = new int[5]; – 表示定義了乙個能儲存5個整型元素的陣列
也可以定義為int arr; arr=new int[5];
arr[2] = 5; — 表示向arr陣列中下標為2的位置放入元素5
2、資料型別 陣列名 = new 資料型別; — 靜態初始化
int arr = new int;—同時規定了陣列的長度就是6
也可以定義為int arr;arr = new int;
arr[3] = 7;–表示向arr陣列中下標為三的位置放入元素7
3、資料型別 陣列名 = ;
int arr = ;
注意:不能定義為int arr;arr== ;的格式
注意:當 定義在資料型別後邊,作用範圍是資料型別後邊的所有變數,而定義在變數後邊,則範圍只包括當前變數,即 int a,b;表示a和b都是陣列,而 int a,b;則表示a是乙個陣列,b是乙個變數。
二、陣列的應用
1、獲取陣列中的元素:
陣列名[下標]
例如有乙個陣列int arr = new int;我們要獲取下標為3的元素,則我們可以定義乙個和陣列型別一致的變數來接一下
int i = arr[3]
2、獲取陣列的長度
.length
例如有乙個陣列int arr = new int;我們要獲取陣列 的程度,則我們可以定義乙個整型的變數來接一下
int i = arr.length;
3、迴圈遍歷陣列:
for迴圈和增強for迴圈
for迴圈:
for(int i = 0; i < arr.length; i++)
增強for迴圈:增強for迴圈就是使用乙個變數來接陣列中的乙個元素, 然後迴圈遍歷陣列中的每乙個位置。
for(int i : arr)
4、獲取陣列中的最大值:
我們先定義乙個變數,來記錄陣列中的第乙個位置 的元素,並假設它為最大,然後,我們迴圈遍歷這個陣列,並和這個變數進行比較,如果比這個變數大,就把當前較大的值設為最大值。
int max = arr[0];
for(int i = 1; i < arr.length; i++)
或者我們也可以利用下標來判斷,我們先定義乙個變數來記錄陣列第乙個位置的下標,並假設這個位置的元素最大,然後,我們迴圈遍歷這個陣列,並將其他下標所儲存的元素和這個變數所儲存的元素進行比較,如果比這個變數所儲存的元素大,就把當前較大的值的下標設為最大值的下標。
int max = 0;
for(int i = 1; i < arr.length; i++)
5、陣列的排序:
氣泡排序:我們將陣列中相鄰的兩個元素,從左到右依次比較,並按照排序的 規則來確定要不要交換兩個元素的位置,這樣從未到位比較一輪,就能選出一 個最值,然後繼續進行下一輪,通常我們需要比較的輪數等於陣列的長度減一
**為從小到大排序:
for(int i = 1; i < arr.length; i++)}}
快速排序:我們選中陣列中的第一位元素,依次和後邊的元素進行比較,並按 照排序規則確定要不要交換兩個元素的位置,從頭到尾比較一次,選出乙個最值,然後選中第二個比較第二輪,依次類推,比較的輪數為陣列的長度減一
**為從小到大排序:
for(int i = 1; i < arr.length; i++)}}
6、陣列的反**
我們定義兩個變數,分別代表陣列的起始下標和末位下標,然後我們將這兩個位置的元素進行交換,然後起始下標後移一位,末位下標向前移一位,再次進行交換,直到起始下標和末位下標指向同乙個元素,或者起始下標在末位下標後面,則完成反轉
**如下:
for(int start = 0,end = arr.length - 1;start7、陣列元素的查詢:
折半查詢(只能用於有序陣列)
因為陣列中的元素是有序的假如是公升序,我們先找到陣列中間位置的元素,先 判斷我們要找的數字和中間位置數字的關係,如果比中間位置元素小,則我們 去中間位置和起始位置這一段,如果比中間位置元素大,則取中間位置和末尾 這一段,然後再取這一段的中間位置進行比較。
**實現:
int arr = ;
int number = 58;
int min = 0;
int max = arr.length - 1;
int mid = (min + max) / 2;
while(arr[mid] != number) else
if(min > max)
mid = (min + max) / 2;
}8、陣列的複製:
將乙個陣列中已有的資料複製到另乙個陣列中
複製格式:
system.arraycopy(要複製的陣列,要複製的起始下標,要存放的陣列,要存 放的起始下標,要複製的元素的個數);
9、陣列的擴容:
我們說過陣列一旦定義,長度不可變,所以陣列的擴容和數 組的複製型別,都是指向了乙個新的陣列:
擴容格式:
陣列 = arrays.copyof(要擴容的陣列, 擴容之後的長度);
陣列的定義和應用
陣列的定義和應用 對於有些資料,只用簡單的資料型別是不夠的,難以反映出資料的特點,也難以有效地進行處理,因此就需要用到陣列。1基本概念 陣列 具有一定順序關係的若干相同型別資料的集合,為構造資料型別之一。陣列名 為該資料集合起的乙個名字 陣列元素 組成陣列的資料。屬同一資料型別,用陣列名和下標確定。...
JS陣列定義及詳解
js陣列定義及詳解 1 什麼是陣列 陣列就是一組資料的集合 其表現形式就是記憶體中的一段連續的記憶體位址 陣列名稱其實就是連續記憶體位址的首位址 2 關於js中的陣列特點 陣列定義時無需指定資料型別 陣列定義時可以無需指定陣列長度 陣列可以儲存任何資料型別的資料 比如說乙個元素儲存整型,乙個元素儲存...
JS 陣列定義及詳解
1.什麼是陣列 陣列是值的有序集合。每個值叫做元素,每個元素在陣列中都有數字位置編號,也就是索引。js中的陣列是弱型別的,陣列中可以含有不同型別的元素。陣列元素甚至可以是物件或其他陣列。例如 var arr 1,true,null,undefined,1,2 2.陣列定義 總結了四種方式 1.var...