一、数组
1.一维数组变量的声明方式:
int[] arr; //首选方法 or int arr[];//也可以定义,但不是首选
2.一维数组内存分配:
arr = new int[5]; //如果未初始化,则整型数组arr各成员的默认值为0(即int变量的默认值)。
3.一维数组声明的同时分配内存:
int[] arr = new int[5];
4.一维数组的初始化方式:
int[] arr = new int[]{1,2,3,4,5,6};
int[] arr = {1,2,3,4,5,6};
例程:
public class ArrTest{
public static void main(String[] args){
//创建并初始化一维数组
int[] days = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
for(int i=0;i<12;i++){
System.out.println((i+1)+"月有"+days[i]+"天");//换行输出
}
}
}
5.二维数组的声明:
int arr[][];
int[][] arr;
6.二维数组的内存分配:
(1)直接为每一维内存分配:
arr = new int[2][4];
(2)分别为每一维数组分配内存:
arr = new int[2][];
arr[0] = new int[2];
arr[1] = new int[3];
7.二维数组的初始化:
int[][] arr = {{12,0},{45,10}};
例程:
//定义二维数组
int arr[][] = new int[3][4];
for(int i=0;i<arr.length;i++){ //访问二维数组的行
for(int j=0;j<arr[i].length;j++){ //访问二维数组的列
System.out.print(arr[i][j]); //打印每一位成员的值
}
System.out.println();
}
二、数组排序:
1.冒泡排序:
排序思路:数组相邻的元素比较,如果当前数组大于后面的元素就交换位置。假设数组包含6个元素,则第一轮需比较5次、第二轮需比较4次、第三轮需比较3次、第四轮需要比较2次、最后一轮需要比较1次。
2.直接排序:
排序思路:取数组的某个元素和后面的每个元素进行比较,碰到比当前元素大的元素,则交换当前元素与较大元素的索引,比较完所有元素后,将最大值元素与数组最后一个元素交换位置,实现将大数放在最后、次大数放在倒二。