第九天

学习了比较值的最大值和最小值和平均值

第二天学习数字排序

一.最大值/最小值

1、两个数,用if来比较

2、多个数

①可以用数组存放一堆需要比较的值,然后使用for循环进行遍历

②在遍历过程中,使用两两相邻比较的方式

   1)相邻两个元素比较,其中数值大的元素与最大值进行比较,而二者中较大的赋值给最大值变量

    2)以此类推,直到数组中的最后一个为止

代码:

public class maxDemo {
    public static void main(String[] args) {
        int[] a= {2,3,4,5,7,8};
        int max=0;
        for(int i=0;i<a.length-1;i++) {
            if(a[i]>a[i+1]&&a[i]>max) {
                max=a[i];
                }else if(a[i+1]>a[i]&&a[i+1]>max) {
                    max=a[i+1];
                }
        }
        System.out.println("最大值是:"+max);
    }
}

③除了以上两种方式外,还可以将需要比较的数值分成两部分,将后部分逐一与前部分的每一个值进行比较,比较过程分解如下。

1)将数组分为两部分。

2)将后部分的每一个逐一与前部分每一个比较。

3)如果当前元素大,并且也大于最大值变量,则将当前元素赋值给最大值变量。

public class maxDemo {
    public static void main(String[] args) {
        int[] a= {2,3,11,5,7,8};
        int max=0;
        for(int i=1;i<a.length;i++) {
            for(int j=i-1;j>=0;j--) {
                if(a[j+1]>a[j]&&a[j+1]>max) {
                    max=a[j+1];
                }
            }
        }
        System.out.println("最大值是:"+max);
    }
}

二、平均值

public class AvgDemo {
    public static void main(String[] args) {
        int[] a= {2,3,4,5,9,7,8};
        int avg=0;
        int sum=0;
        for(int i=0;i<a.length;i++) {
            sum+=a[i];
        }
        avg=sum/a.length;
        System.out.println("平均值:"+avg);
    }

}

 

posted @ 2020-07-14 16:04  yasai  阅读(104)  评论(0编辑  收藏  举报