数组的定义
数组类型 数组名称[] = new 数组类型[长度];
数组的初始化
- 静态初始化:初始化时由程序员显示指定每个数组元素的初始值,有系统决定数组长度
- 动态初始化:初始化时程序员只指定数组长度,有系统为数组元素分配初始值。
//静态初始化
int[] intArr1 = new int[]{1,2,3,4,5};
//动态初始化
int[] intArr2 = new int[5];
//数组的定义和初始化同时完成,
//初始化数组时元素的类型是定义数组元素类型的子类
Object[] intArr3 = new String[5];
数组参数传递
- 冒泡排序
public class ArrayDemo {
public static void main(String[] args) {
int[] data = new int[]{6,2,8,9,5,3,5,0,1};
//外层控制排序总体的次数
for (int x =0 ; x <= data.length ; x++){
//内层控制每次的排序
for (int y = 0 ; y < data.length-1 ; y++){
if ( data[y] > data[y+1]){
int temp = data[y];
data[y] = data[y+1];
data[y+1] = temp;
}
}
}
for (int x = 0 ; x<data.length ; x++){
System.out.print(data[x] + " ");
}
}
}
- 数组的转置(首位交换)
public class ArrayDemo2 {
public static void main(String[] args) {
int[] data = new int[]{1,2,3,4,5,6,7,8};
int end = data.length-1;
for(int y = 0 ; y < data.length/2 ; y++){
int temp = data[y] ;
data[y] = data[end] ;
data[end] = temp ;
end--;
}
for (int x = 0 ; x < data.length ; x ++){
System.out.print(data[x]);
}
System.out.println();
}
}
总结
- 数组用的很少,但是一定会用,而且数组的相关的逻辑关系比较麻烦;
- 一切以一维数组为主,要明白数组的定义语法与内存的关系(与对象一致)
- 对象数组的定义语法,对象数组 = 多个对象;
- 数组有一个最大的短板:长度固定,所以这就限制了数组的开发中的出现;
- 数组的排序:java.util.Arrays.sort(数组名称)。