* 1.數組的理解:數組(Array),是多個相同類型數據一定順序排列的集合,并使用一個名字命名,
- 并通過編號的方式對這些數據進行統一管理。
* 2.數組相關的概念:
-
數組名
-
元素
-
角標、下標、索引
-
數組的長度:元素的個數
* 3.數組的特點:
- 1數組是序排列的
- 2數組屬于引用數據類型的變量。數組的元素,既可以是基本數據類型,也可以是引用數據類型
- 3創建數組對象會在內存中開辟一整塊連續的空間
- 4數組的長度一旦確定,就不能修改。
* 4. 數組的分類:
- ① 照維數:一維數組、二維數組、。。。
- ② 照數組元素的類型:基本數據類型元素的數組、引用數據類型元素的數組
數據結構:
1.數據與數據之間的邏輯關系:集合、一對一、一對多、多對多
2.數據的存儲結構:
線性表:順序表(比如:數組)、鏈表、棧、隊列
樹形結構:二叉樹
圖形結構:
算法:
排序算法:
搜索算法:
4.一維數組的遍歷
for(int i = 0;i < names.length;i++){
System.out.println(names[i]);
}
5.一維數組元素的默認初始化值
> 數組元素是整型:0
-
> 數組元素是浮點型:0.0
-
> 數組元素是char型:0或'\u0000',而非'0'
-
> 數組元素是boolean型:false
-
> 數組元素是引用數據類型:null
6.一維數組的內存解析
1.如何理解二維數組?
數組屬于引用數據類型
數組的元素也可以是引用數據類型
一個一維數組A的元素如果還是一個一維數組類型的,則,此數組A稱為二維數組。
2.二維數組的聲明與初始化
正確的方式:
int[] arr = new int[]{1,2,3};//一維數組//靜態初始化int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};//動態初始化1String[][] arr2 = new String[3][2];//動態初始化2String[][] arr3 = new String[3][];
//也是正確的寫法:int[] arr4[] = new int[][]{{1,2,3},{4,5,9,10},{6,7,8}};int[] arr5[] = {{1,2,3},{4,5},{6,7,8}};//類型推斷
錯誤的方式:
// String[][] arr4 = new String[][4];
// String[4][3] arr5 = new String[][];
// int[][] arr6 = new int[4][3]{{1,2,3},{4,5},{6,7,8}};
3.如何調用二維數組元素:
System.out.println(arr1[0][1]);//2System.out.println(arr2[1][1]);//nullarr3[1] = new String[4];System.out.println(arr3[1][0]);
System.out.println(arr3[0]);//
4.二維數組的屬性:
System.out.println(arr4.length);//3System.out.println(arr4[0].length);//3System.out.println(arr4[1].length);//4
5.遍歷二維數組元素
for(int i = 0;i < arr4.length;i++){for(int j = 0;j < arr4[i].length;j++){System.out.print(arr4[i][j] + " ");}System.out.println();
}
6.二維數組元素的默認初始化值
- 規定:二維數組分為外層數組的元素,內層數組的元素
-
int[][] arr = new int[4][3];
-
外層元素:arr[0],arr[1]等
-
內層元素:arr[0][0],arr[1][2]等
- ⑤ 數組元素的默認初始化值
- 針對于初始化方式一:比如:int[][] arr = new int[4][3];
-
外層元素的初始化值為:地址值
-
內層元素的初始化值為:與一維數組初始化情況相同
- 針對于初始化方式二:比如:int[][] arr = new int[4][];
-
外層元素的初始化值為:null
-
內層元素的初始化值為:不能調用,否則報錯。