数组

93 阅读2分钟

一,数组的创建


public static void main(String[] args) {

    int[] array1 = new int[10];//数组的动态初始化:数组类型 []  数组名称 = new 数组类型 [指定数组长度]

    //数组的静态初始化:数组类型 []  数组名称 = new 数组类型[] {元素一,元素二,元素三...}
    int[] array2 = new int[]{10, 20, 30, 40, 50};

    //数组类型 []  数组名称 = {元素一,元素二,元素三...}
    int[] array3 ={10, 20, 30, 40, 50};//数组的静态初始化简化模式
}

二,访问数组的元素

索引值:就是一个int数字,代表数组元素在数组当中的编号。 脚下留心:索引值是从"0"开始计算的,一直到数组的元素个数-1为止。

静态初始化数组:

public static void main(String[] args) {
    //声明一个静态初始化数组
    int [] array = new int[]{10,20,30,40,50};

    //取出数组元素
    System.out.println(array[0]);//10 数组名称[索引值]
    System.out.println(array[1]);//20 ...
    System.out.println(array[2]);//30
    System.out.println(array[5]);//.ArrayIndexOutOfBoundsException:数组下标越界一异常
    //...
}

动态初始化数组:

public static void main(String[] args) {
    //创建一个动态初始化数组
    int[] array = new int[5];

    System.out.println(array);//内存地址值:[I@1540e19d
    System.out.println(array[0]);//0
    System.out.println(array[1]);//0
    System.out.println(array[2]);//0
}

脚下留心:使用动态初始化数组的时候,其中的元素都会有一个默认值

如果是整数类型:则是0;

如果是浮点型,则是0.0;

如果是字符类型,则是'/u0000';

如果是布尔类型,则是false;

如果是引用类型,则是null;

静态初始化也是有默认值的,只不过系统自动马上将默认值替换为大括号中具体的值;

三,数组的遍历

public static void main(String[] args) {

    int[] array = {10, 30, 50, 40, 80, 10, 20};

    int max = array[0];
    for (int i = 1; i < array.length; i++) {
        if (array[i] > max) {
            max = array[i];
        }
    }
    System.out.println("最大值为:"+max);//最大值为:80
}

四,数组元素的反转

public static void main(String[] args) {
    int[] array = {10, 20, 30, 40, 50, 60, 70};
    for (int i = 0; i < array.length; i++) {
        System.out.println(array[i]);
    }
    //10,20,30,40,50,60,70

    System.out.println("数组反转后");
    for (int min = 0, max = array.length - 1; min < max; min++, max--) {
        int temp = array[min];
        array[min] = array[max];
        array[max] = temp;
    }
    for (int i : array) {
        System.out.println(i);
    }
    //70,60,50,40,30,20,10
}