一、数组的特点
1、数组是一段连续的内存空间,通过下标查找元素,下标从0开始,最大下标为数组长度减一。
2、数组元素都是变量。
3、数组元素的数据类型为定义数组时数组的数据类型。
4、数组创建时会对每个元素初始化。int-->0;double-->0.0;引用类型-->null
5、数组定长性,数组创建后,长度不能发生变化。安全性考虑,变长后可能覆盖后面的数据。
二、一维数组
数组初始化器:
1、数据类型 [ ] 数组名;
数组名=new 数据类型[ 数组长度 ];
2、数据类型[ ] 数组名=new 数据类型[长度]{值1,值2...};
3、数据类型[ ] 数组名={值1,值2,值3...}; 必须在定义语句中
声明方式:数据类型 [ ] 数组名;或者:数据类型 数组名 [ ];
分配空间: 数组名=new 数据类型[ 数组长度 ];
合并书写: 数据类型 [ ] 数组名 = new 数据类型 [ 长度 ]
赋值/修改: 数组名 [索引]=值;
输出/读取: 数组名 [索引];
不定长参数,将实参封装成一个数组,用形参sss去指向:
mytest(4,5,64,3,64) public static void mytest(int... sss){ for(int x:sss){ System.out.println(x) } }
三、二维数组
1、声明数组并分配空间
数据类型 [ ] [ ] 数组名 = new 数据类型 [ 行数 ] [ 列数 ];
或者:数据类型 [ ] [ ] 数组名;
数组名 = new 数据类型 [ 行数 ] [ 列数 ];
2、赋值
数组名 [ 行的索引号 ] [ 列的索引号 ]=值;
3、声明的同时为其赋值
数据类型 [2] [3] 数组名={{值1,值2,值3},{值11,值22,值33}}
四、数组长度读取
数组名.length;返回值:int;
五、数组的遍历
foreach 语法:
for(元素类型 元素变量:遍历对象){ 执行的代码 }
1、是指从数组的第一项开始,依次取完数组的所有项
2、实现数组的遍历,可以使用循环
3、循环遍历从0开始,依次取到数组的最大下标(数组名.length-1);
4、在循环体中,使用循环变量作为下标,即可取出数组的每一项的值
六、数组的排序
冒泡排序
选择排序
快速排序