一、数组的概念
数组是几乎所有程序设计语言都提供的一种数据存储结构。数组是名称相同,下标不同的一组变量,用来存储一组类型相同的数据。
二、数组的定义
使用数组一般需要如下三个步骤:
(1)声明数组:声明数组名称和元素的数据类型。
(2)创建数组:为数组元素分配存储空间。
(3)数组的初始化:为数组元素赋值。
1.声明数组
使用数组之前需要声明,声明数组就是告诉编译器数组名和数组元素类型。数组声明可以使用下面两种等价形式。
elementType []arrayName;
elementType arrayName[];
2.创建数组
数组声明仅仅声明一个数组对象引用,而创建数组是为数组的每个元素分配存储空间。创建数组使用new 语句,一般格式为:
FarrayName = new elementType [arraysize];
3.访问数组元素
声明了一个数组,并使用new运算符为数组元素分配内存空间后,就可以使用数组中的每一个元素。数组元素的使用方式是:
arrayName [index]
4.数组初始化器
声明数组同时可以使用初始化器对数组元素初始化,在一对大括号中给出数组的每个元素值。这种方式适合数组元素较少的情况,这种初始化也称为静态初始化。
idouble[] marks = new double [](79, 84.5, 63,90,98};
String[] words = new String[]("Java","is",cool"];
三、数组的方法
数组只有一个方法length();使用数组名.length();可以获得数组的长度。
四、二维数组
理解:把二维数组看作数组的数组,即一维数组里面又存储了一维数组。
定义:
二维数组的使用也分为声明、创建和初始化三个步骤。
1.二维数组声明
二维数组有下面三种等价的声明格式:
elementType[][] arrayName;elementType[] arrayName [];elementType arrayName[][];
2.创建二维数组
创建二维数组就是为二维数组的每个元素分配存储空间。系统先为高维分配引用空间,然后再顺次为低维分配空间。二维数组的创建也使用new运算符,分配空间有两种方法,下面是直接为每一维度分配空间。
int [][]matrix = new int[2][3];
3.数组元素的使用
访问二维数组的元素,使用下面的形式:
arrayName[index1][index2]
4.数组初始化器
对于二维数组也可以使用初始化器在声明数组的同时为数组元素初始化。例如:
int[][] matrix= {{15,56,20,-2},
{10,80,-9,31},
{76,-3,99,21},};
五、一维数组的排序
冒泡排序:元素按一定顺序逐次浮到一侧相邻的两个元素进行比较,按从小到大或从大到小顺序排序。用两轮循环还控制,外层控制次数,内层逐个比较。
public static int[] bubbleSort(int[] array){
int temp=0;
for(int i=0;i<array.length-1;i++){
for(int j=0;j<array.length-i-1;j++){
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
return array;
}
选择排序:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置。直到全部待排序的数据元素排完。
public static int[] selectSort(int[] array){
int temp=0;
for(int i=0;i<array.length-1;i++){
for(int j-i+1;j<array.length;j++){
if(array[i]>array[j]){
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
return array;
}