代码如下:
public class Test1 {
public static void main (String[] args) {
int[] arr = new int[] {4,2,7,1,3,5};
//最大值
int max = arr[0]; //假设arr[0]是目前的最大值
for(int i = 0; i < arr.length; i++) {
if(max < arr[i]) {
max = arr[i]; //把目前的最大值赋值给max
}
}
System.out.println("max =" + max);
//最小值
int min = arr[0]; //假设arr[0]是目前的最小值
for(int i = 0; i < arr.length; i++) {
if(min > arr[i]) {
min = arr[i]; //把目前的最小值赋值给min
}
}
System.out.println("min =" + min);
// 总和,平均数
int res = 0;
for(int i = 0; i < arr.length; i++) {
res += arr[i];
}
System.out.println("总和:" + res);
System.out.println("平均数:" + (res / arr.length));
}
}
代码如下:
public class Test1 {
public static void main (String[] args) {
//复制
int[] arr = new int[] {4,2,7,1,3,5};
int[] arr_copy = new int[arr.length];
for(int i =0; i < arr.length; i++) {
arr_copy[i] = arr[i];
}
// 反转
// 考虑声明一个数组temp,数组temp的长度与arr的长度一致,倒着循环arr,正着给temp的元素赋值
int[] temp =new int[arr.length];
int k = 0;
for(int i = arr.length - 1; i >= 0; i--) {
temp[k] = arr[i];
k++;
}
arr = temp;
System.out.print("反转后的arr:");
for(int i =0; i< arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
排序思想:
相邻两元素进行比较,如有需要则进行交换,每完成一次循环就将最大元素排在最后(如从小到大排序),下一次循环是将其它的数进行类似操作。
练习题:
对数组{4,7,3,1}从小到大排序,使用冒泡排序方式。
答案:
public class Test1 {
public static void main (String[] args) {
//冒泡排序
//假设4,7,3,1 从小到大排序
//4,3,1,7 第一轮得到一个最大的数字,放在倒数第一位
//3,1,4,7 第二轮得到除最后一个数字之外的最大数字,放在倒数第二位
//1,3,4,7 第三轮得到除最后两个数字之外的最大数字,放在倒数第三位
int[] arr = new int[]{4,7,3,1};
int temp = 0;
for(int i = 0; i< arr.length-1; i++) { //外层循环是循环轮次,轮次循环的次数是数组长度-1
for(int j = 0; j < arr.length-1-i; j++) { //每一轮次的数字对比排序,每轮次的循环依次3,2,1,(轮次长度-1-i)
if(arr[j] > arr[j+1]) { //如果是<号,则从大到小排序
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}