数组
数组,相当于一个容器,可以存储一组相同数据类型的元素
数组可以存储基本数据类型也可以存储引用数据类型。
数组定义格式:数据类型[ ]数组名or数据类型 数组名[ ]
数组初始化:为数组元素分配内存空间,并为数组中的每个元素赋值
-
动态初始化:由我们指定长度,由系统赋初始值 int[] arr = new int[5]
-
静态初始化:由我们赋值,系统计算长度 int[] arr = new int[]{0,1,2,1,4}
数组遍历:
int[] arr = {0,1,2,1,4};
//遍历数组
for(int i = 0;i<arr.length;i++){
System.out.println(arr[i]);
}
//反向遍历
for(int i = arr.length-1;i>=0;i--){
System.out.println(arr[i]);
}
//倒序
for(int i = 0;i<arr.length/2;i++){
int temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp;
}
System.out.println(arr[i]);
//数组中的最大元素
int max = arr[0];
for(int i = 0;i<arr.length;i++){
if(arr[i]>max){
max = arr[i];
}
}
System.out.println(max);
//数组中的最小元素
int min = arr[0];
for(int i = 0;i<arr.length;i++){
if(arr[i]<min){
min = arr[i];
}
}
System.out.println(min);
二维数组
二维数组定义格式:
数据类型[ ] [ ] 变量名 = new 数据类型[ m ] [ n ];
m n:二维数组里有m个一维数组,每一个一维数组的长度是n;
//遍历二维数组
for(int i = 0; i<arr.length;i++){
for(int j = 0;j<arr[i].length;j++){
System.out.println(arr[i][j]);
}
}
排序
int[] arr = {1,5,6,2,3,8,9,4,11,7,10};
/**
* 冒泡排序
*/
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j <arr.length-1-i ; j++) {
if (arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
/**
* 选择排序
*/
for (int i = 0; i <arr.length-1 ; i++) {
for (int j = 1+i; j < arr.length; j++) {
if (arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
/**
* 插入排序
*/
for (int i = 1; i < arr.length; i++) {
for (int j = i; j > 0; j--) {
if (arr[j]<arr[j-1]){
int temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}
}
}
System.out.println(Arrays.toString(arr));