数组的常用算法


1.求数组元素的最大值、最小值、平均数、总和等

public class w {
    public static void main(String[] args) {
        int[] a = new int[]{964, 5487, 7878, 5, -978, 56489};
        //最大值
        int max = a[0];
        for (int i = 0; i < a.length; i++) {
            if (max < a[i]) {
                max = a[i];
            }
        }
        System.out.println("数组的最大值为:" + max);
        //最小值
        int min = a[0];
        for (int i = 0; i < a.length; i++) {
            if (min > a[i]) {
                min = a[i];
            }
        }
        System.out.println("数组的最小值:" + min);
        //总和
        int sum = a[0];
        for (int i = 0; i < a.length; i++) {
            sum += a[i];
        }
        System.out.println("总和为: " + sum);
        //平均数
        int avg = a[0];
        avg=sum/a.length;
        System.out.println("平均值为: "+avg);
    }
}

2.数组的复制,反转

public class TestArray {
    public static void main(String[] args){
        //声明array1和array2
        int[] array1,array2;
        //使用大括号,把array1初始化为8个素数
        array1=new int[]{2,3,5,7,11,13,17,19};
        //显示array1的内容(遍历)
        for (int i=0;i<array1.length;i++){
            System.out.print(array1[i]+"\t");
        }
        System.out.println();
        //赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2)
        //打印出array1
        array2=array1;
        for (int i=0;i<array2.length;i++){
            if (i%2==0){
                array2[i]=i;
            }
            System.out.print(array2[i]+"\t");
        }
    }
}

public class TestArray {
    public static void main(String[] args){
        //声明array1和array2
        int[] array1,array2;
        //使用大括号,把array1初始化为8个素数
        array1=new int[]{2,3,5,7,11,13,17,19};
        //显示array1的内容(遍历)
        for (int i=0;i<array1.length;i++){
            System.out.print(array1[i]+"\t");
        }
        System.out.println();
        //赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2)
        //打印出array1
        array2=array1;
        for (int i=0;i<array2.length;i++){
            if (i%2==0){
                array2[i]=i;
            }
            System.out.print(array2[i]+"\t");
        }
        System.out.println();
        for (int i=0;i<array1.length;i++){
            System.out.print(array1[i]+"\t");
        }
        System.out.println();
    }
}


注意:array2=array1的意思将array1的地址和值赋给array2,所以,当在array2中有改动时,在array1中也有改动

3.数据元素的反转

public class TestArray {
    public static void main(String[] args){
        int[] a=new int[]{1,3,5,7,9,11};
        //(遍历)输出数组a中的值
        for (int i=0;i<a.length;i++){
            System.out.print(a[i]+"\t");
        }
        System.out.println();
        //开始数组元素的反转
        for (int i=0;i<a.length/2;i++){
            int temp=a[i];
            a[i]=a[a.length-1-i];
            a[a.length-1-i]=temp;
        }
        for (int i=0;i<a.length;i++){
            System.out.print(a[i]+"\t");
        }
    }
}

转载于:https://www.cnblogs.com/KeepCalmAndNeverSayNever/p/10111381.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值