1:一維陣列
(1)陣列:儲存同一種資料型別的多個元素的集合
每個元素都有編號,從0開始。
最大編號是陣列的長度
(2)陣列的格式:
A:資料型別[] 陣列名;
B:資料型別 陣列名[];
(3)陣列的初始化:
A:動態初始化 只給長度,不給元素
int[] arr = new int[3];
B:靜態初始化 不給長度,給元素
int[] arr = new int[]{1,2,3};
簡化版:int[] arr = {1,2,3};
特別要注意的事陣列必須先 初始化才能複製。不能根據賦值自動增加長度
(4)java中的記憶體分配
A:棧 儲存區域性變數
B:堆 new出來的
C:方法區
D:本地方法區
E:暫存器
(5)兩個常見小問題
A:陣列越界
陣列越界是指賦值超過了初始化的陣列範圍
比如 int[] a=new int[5];
取a[6]就越界了,就會有空指標異常丟擲java。lang。ArrayIndexOutOfBoundsException異常
B:空指標異常
空指標異常是指應用了未指向地址的引數
比如定義String str=null;
輸出 b。lenght()就會報錯
(6)陣列常見操作 獲取陣列長度:陣列名。length
A:陣列遍歷
B:獲取最值
C:陣列反轉
D:查表法
E:查詢指定元素第一次出現的索引
2:二維陣列(理解)
(1)二維陣列:元素是一維陣列的陣列。
(2)格式:
A:資料型別[][] 變數名 = new 資料型別[m][n];
B:資料型別[][] 變數名 = new 資料型別[m][];
C:資料型別[][] 變數名 = new 資料型別[][]{{元素。。。},{元素。。。},{元素。。。}};
資料型別[][] 變數名 = {{元素。。。},{元素。。。},{元素。。。}};
(3)常見操作:
A:陣列遍歷
B:求和案例
3:兩個思考題
(1)java引數傳遞問題
基本型別:形式引數的改變不影響實際引數。
引用型別:形式引數的改變直接影響實際引數。
java中只有值傳遞。因為地址值也是一個值。
(2)資料加密問題