1.求数值型数组的最大值、最小值、总和、平均数
int[] arr = new int[] { 4, 3, 6, 8, 2, -98, 0, -66, 76 };
// 求数组元素的最大值
int maxValue = arr[0];
for (int i = 1; i < arr.length; i++) {
if (maxValue < arr[i]) {
maxValue = arr[i];
}
}
System.out.println("最大值为:" + maxValue);
// 求数组元素的总和
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
System.out.println("总和为:" + sum);
// 求数组元素的平均数
int avg = sum / arr.length;
System.out.println("平均数为:" + avg);
2.数组的反转 和 复制
//2.1数组的反转:
// 方式一:
// for(int x = 0,y = arr.length - 1;x < y;x++,y--){
// int temp = arr[x];
// arr[x] = arr[y];
// arr[y] = temp;
// }
// 方式二
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;
}
//Sring str = "abcdefg";-->"gfedcba"
//2.2数组的复制,得到新的数组:array
// 复制不同于赋值。赋值操作为:array = arr;
int[] array = new int[arr.length];
for (int i = 0; i < array.length; i++) {
array[i] = arr[i];
}
//将array1的地址值赋给array2,并没有实现数组的复制!
//实现对array1数组的复制
3.数组的排序
插入排序
直接插入排序、折半插入排序、Shell排序
交换排序
冒泡排序、快速排序(或分区交换排序)
选择排序
简单选择排序、堆排序
归并排序
基数排序
// 使用冒泡排序实现数组的从小到大排序
/*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;
}
}
}*/
//操作数组的工具类:Arrays
Arrays.sort(arr);//底层使用的实际是快速排序。