写在前面

  分享几个Java中关于数组的基础小练习。

练习

一、按照给定的格式打印 格式如[ 1, 3, 4, 2, 5]

分析

  主要还是遍历数组,只不过在遍历的时候需要考虑到换行的问题。

代码

public class ArrayMetodTest {

    public static void main(String[] args) {
        int[] arr= {1,58,96,78,95,87,46};
        printArray(arr);
        int[] arr2= {85,98,52,33}; 
        printArray(arr2);
    }

    public static void printArray(int []arr) {
        System.out.print("[");
        for(int i=0;i<arr.length;i++) {
            System.out.print(arr[i]);
            if(i==arr.length-1) {
                System.out.println("]");
            }else {
                System.out.print(",");
            }
        }
    }

}

运行结果

mark

二、数组元素逆序

分析

  需要注意的是数组逆序不是把数组倒过来遍历,他们有着本质的区别。

代码

public class ArrayMetodTest_2 {

    public static void main(String[] args) {
        int[] arr= {1,2,3,4,5,6,7,8,9};
        printArry(arr);
        printArrayReverse(arr);
        printArrayReverseOrder(arr);
    }

    //数组倒着遍历
    public static void printArrayReverse(int[] arr) {
        System.out.print("数组倒着遍历结果为:");
        for(int i=arr.length-1;i>=0;i--) {
            System.out.print(arr[i]+"  ");
        }
        System.out.println("倒着遍历后,打印数组2索引的值为"+arr[2]);
    }

    //数组逆序-数组中的元素进行了位置上的交换,即例如输出arr[2],它的值会变。
    public static void printArrayReverseOrder(int[]arr) {
        //数组索引位置交换
        for(int start=0,end=arr.length-1;start<end;start++,end--) {
            int p=arr[start];
            arr[start]=arr[end];
            arr[end]=p;
        }
        System.out.print("数组逆序后,遍历结果为:");
        //遍历数组
        for(int i=0;i<arr.length;i++) {
            System.out.print(arr[i]+"  ");
        }
        System.out.println("逆序之后,打印数组2索引的值为"+arr[2]);
    }

    //直接遍历数组
    public static void printArry(int[]arr) {
        System.out.print("原数组遍历结果为:");
        for(int i=0;i<arr.length;i++) {
            System.out.print(arr[i]+"  ");
        }
        System.out.println("原数组,打印数组2索引的值为"+arr[2]);
    }


}

运行结果

mark