Java基础(2) | 数组

# 复习定义

数组:一种容器,可以同时存放多个数据值

特点:

1.数组是一种引用数据类型
2.数组中的多个数据类型必须统一
3.数组的长度在程序运行期间不可改变

常见初始化方式:

1.动态(指定长度) 数据类型[] 数组名称 = new 数据类型[数组长度];
2.静态(指定内容) 数据类型[] 数组名称 = new 数据类型[]{数据1,数据2,数据3,...} 右侧数据的类型必须和左侧的数据类型保持一致

默认值:
整型数组 -- 0
浮点类型 -- 0.0
布尔类型 -- false
字符类型 -- 'u0000'
引用类型 -- null

# 初始化代码示例

package com.leerep.javabase.array;

public class ArrayInit {
    public static void main(String[] args) {
        // 静态       省略格式不能拆分
        int[] arrayA = {1,2,3};
        System.out.println(arrayA); //直接打印数组得到的是数组在内存中的哈希地址值

        int[] arrayB;
        arrayB = new int[] {4, 5, 6};
        for (int i = 0; i < arrayB.length; i++) {
            System.out.print(arrayB[i] + "	");
        }
        System.out.println();
        //动态
        int[] arrayC = new int [10];
        int[] arrayD;
        arrayD = new int[10];
        for (int i = 0; i < 10; i++) {
            System.out.println("arrayC[" + i + "]:" + arrayC[i] + "	arrayD[" + i + "]:" + arrayD[i]);
        }
    }
}

# 逆转数组示例

package com.leerep.javabase.array;

import java.util.Arrays;

/*
 * 逆转数组
 * */
public class ArrayReverse {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5, 6};
        array = array_reverse(array);
        printArray(array);
        System.out.println(Arrays.toString(array));     //toString的源码中采用StringBuilder b = new StringBuilder();
    }

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

    public static int[] array_reverse(int[] array) {
        int max = array.length-1;
        for (int min = 0; min < max; min++, max--) {
            int temp = array[min];
            array[min] = array[max];
            array[max] = temp;
        }
        return array;
    }
}

# 常见错误演示

package com.leerep.javabase.array;

public class CommonError{
    public static void main(String[] args) {
        int[] arrayA = {1, 2, 3, 4};
        System.out.println(arrayA.length);      //4
//        System.out.println(arrayA[4]);   数组下标越界

        int[] arrayB = null;
//        System.out.println(arrayB[0]);   数组只有进行new初始化后,才能使用,如果只是赋值为null,没有进行new创建,那么会报空指针异常
    }
}
原文地址:https://www.cnblogs.com/leerep/p/14377446.html