如若文章中出現衝突,或者出現錯誤,請聯繫 QQ:2669157689 指出我的問題。謝謝~
本章講一下數組。
JAVA編程基礎 —— 數組
1. 一維數組
- 數組的基本概念
- 數組可以看成是多個相同類型數據的組合,實現對這些數據的統
一管理- 舉例:
- {1,2,3,4,5}
- {“apple”,“pear”,“banana”,“grape”}.
- 舉例:
- 數組中的每一個數據 — 數組的一個元素(element)
- 數組中的元素可以是任何數據類型,包括基本數據類型和引用
類型
- 數組中的元素可以是任何數據類型,包括基本數據類型和引用
- 數組中元素的個數,稱爲數組的長度(length)
- JAVA語言中聲明數組時不能指定其長度
- 舉例: int a[5]; //非法
- JAVA語言中聲明數組時不能指定其長度
- 一維數組的聲明
- 一維數組的聲明
- 數組類型 數組名 [ ]
- 數組類型[ ] 數組名
- 示例:
int a[];
int[] b;
double d[];
char[] ch;
Student stu[];
- 一維數組的創建
- 一維數組的創建
- 數組名 = new 數據元素類型[ 元素個數 ]
- 示例:
int a[];
a = new int[5];
int a[] = new int[5];
- 創建後的內存情況
- 數組的內存模型
- 數組是存儲多個相同類型變量的對象
- 數組的所有元素保存在堆內存中
- 創建一個數組就是在堆中創建一個數組對象
- 數組創建後立即擁有默認值
- 索引從0開始
- 連續分配
- 數組的初始化
- 初始化
- 在創建數組的同時就爲數組元素分配空間並賦值
- 數組類型 數組名[ ] = {元素1,元素2,…}
- 數組類型 數組名[ ] = new 數據類型[ ]{元素1,元素2,…}
- int a[ ] = {1,2,3,4,5} ;
- int a[ ] = new int[]{1,2,3,4,5} ;
- 數組元素的訪問
- 數組元素的訪問
- Java中,數組元素額下標從0開始
- 元素額下標可以是整型常量或者整型表達式
- 數組名[元素下標] = 元素值;
- 示例:
int a[];
a = new int[5];
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
a[4] = 5;
- 數組的長度屬性
- 數組的長度(length)必須>=0;
- length爲只讀。
- 利用length遍歷數組
- 數組的異常
- 數組中的常見錯誤
數組越界異常 (ArrayIndexOutOfBoundsException) - 示例
class Array_exception2 {
public static void main(String args[]) {
int a[] = new int[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
System.out.println(a[3]);
}
}
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at Array_exception2.main(Array_exception2.java:10)
2. 多維數組
- 多維數組的概念
- Java中沒有真正的多維數組,只有數組的數組
- Java中多維數組不一定是規則矩陣形式,例如:鋸齒數組
- 多維數組的聲明
- 二維數組的聲明
- 數組類型 數組名 [ ] [ ]
- 數組類型[ ] [ ] 數組名
- 數組類型[ ] 數組名 [ ]
- 示例:
int a[] [];
int[][] b;
int[] c[];
- 二維數組的創建
- 數組名 = new 數據元素類型[ 行數 ] [ 列數 ]
- 數組名 = new 數據元素類型[ 行數 ] [ ]
- 必須聲明行的個數
- 示例:
a = new int [3][4];
a = new int [3][];
a = new int [][4]; //非法
- 二維數組的初始化
- 數組類型 數組名[ ][ ] = { {元素11,元素12,…} , {元素21,元素22,… } }
- 數組類型 數組名[ ][ ] = new 數據類型[ ][ ] { {元素11,元素12,…} , {元素21,… } }
- 示例:
int a[][] = {{1, 2, 3}, {4, 5}, {7}};
int a[][] = new int[][]{{1, 2, 3}, {4, 5}, {7}};
int[][] a = new int[3][];
a[0] = new int[2];
a[1] = new int[3];
a[2] = new int[4];
a[0][0] = 1;
a[0][1] = 2;
- 二維數組在內存中的表示
- 示例:int a[ ][ ] = {{1, 2, 3}, {4, 5}, {7}};
- 示例:int a[ ][ ] = {{1, 2, 3}, {4, 5}, {7}};
3. 數組的操作
- 數組的遍歷
利用循環語句和數組下標 - 數組的複製 — System.arraycopy( )
System.arraycopy(source,srcPos,dest,destPos,length)
- 複製source數組中從下標srcPos開始的length個元素到目標數組dest,
並從目標數組的下標爲destPos的位置開始儲存- source: 源數組
- srcPos: 源數組中的起始位置
- dest: 目標數組
- destPos:目標數組中的起始位置
- length: 要複製的數組元素的個數
- 數組的排序— java.util.Arrays.sort( )
- Arrays.sort(arr_name)
- Arrays.sort(arr_name,fromIndex,toIndex)
- 對數組arr_name中,從下標爲 fromIndex 到 toIndex 的元素(不包括
toIndex)進行升序排序
下一章內容的理解就要稍微難一點了