Day40 数组的使用

发布时间 2023-12-26 21:16:59作者: 白小帆

数组的使用

1.普通的for循环

package com.baixiaofan.array;

public class ArrayDemo03 {
    public static void main(String[] args) {
        int[] arrays = {1,2,3,4,5};

        //打印全部数组元素
        for (int i = 0; i < arrays.length; i++) {
            System.out.println(arrays[i]);//遍历所有元素
        }
        System.out.println("========================");

        //计算所有元素的和
        int sum = 0;
        for (int i = 0; i < arrays.length; i++) {
            sum = sum + arrays[i];//sum += arrays[i];
        }
        System.out.println(sum);//注意计算和这句代码要放在括号外面
        System.out.println("========================");

        //查找数组中的最大元素
        int max = arrays[0];
        for (int i = 1; i < arrays.length; i++) { //注意由于前面max定义了数组的第0个下标     这里的i就要从1开始,否则下面比大小会出错
            if (max < arrays[i]){
                max = arrays[i];
            }
        }
        System.out.println(max);//注意要在两个括号即for循坏括号外
    }
}

结果为:

1
2
3
4

5

========================

15

========================

5

2.For-Each循环

package com.baixiaofan.array;

public class ArrayDemo04 {
    public static void main(String[] args) {
        int[] arrays = {1, 2, 3, 4, 5};

        //JDK1.5   没有下标(不适合操作里面的元素)
        for (int array : arrays) {    //arrays.for回车直接跳出这条
                                        //前面int array 即代表里面的每一个值
                                      //后面的  arrays 即代表数组
        System.out.println(array);   //注意此时for循环遍历元素  在括号内  要写array
        }
    }
}

结果是:

1
2
3
4
5

3.数组作方法入参

package com.baixiaofan.array;

public class ArrayDemo04 {
    public static void main(String[] args) {
        int[] arrays = {1,2,3,4,5};

        printArray(arrays);//调用下面的printArray方法
    }

    //打印数组元素
    public static void printArray(int[] arrays){    //数组作方法入参
        for (int i = 0; i < arrays.length; i++) {
            System.out.print(arrays[i]+" ");    //print不换行    然后+" "  空格隔开
        }
    }
}

结果为:

1 2 3 4 5 (注意此时是横向的并且中间空格隔开)

4.数组作返回值(反转数组)

package com.baixiaofan.array;

public class ArrayDemo04 {
    public static void main(String[] args) {
        int[] arrays = {1,2,3,4,5};

        int[] reverse = reverse(arrays);//打入reverse(arrays);双击黄色小灯泡 即跳出这串代码
        printArray(reverse);
    }

    //反转数组
    public static int[] reverse(int[] arrays){
        int[] result = new int[arrays.length];//要使得result数组变成 54321    下标个数都是一致的   无非就是头跟尾换
                                                                            //如其他的new int[10];
        //反转的操作
        for (int i = 0,j=result.length-1; i <arrays.length ; i++,j--) {        //定义j为result数组的下标
                                                              //下标的最大值就是长度-1  即j=result.length-1
            result[j]=arrays[i];    //result数组的尾部元素要等于arrays数组的头部元素....
        }
        return result;
    }



    //打印数组元素
    public static void printArray(int[] arrays){
        for (int i = 0; i < arrays.length; i++) {
            System.out.print(arrays[i]+" ");    //print不换行    然后+" "  空格隔开
        }
    }
}

结果为:

5 4 3 2 1 (注意此时是横向的并且倒叙)