Java基础-05-数组

22 阅读1分钟

Java基础-05-数组

数组主要用来存放同一数据类型的集合。可以通过一个整型下标来访问到数组中的元素,若a是一个数组,a[i]表示的是数组中下标为i的整数。

数组的声明

dataType[] arrayRefVar; // 首选的方法 或 
dataType arrayRefVar[]; // 效果相同,但不是首选方法

举例:

int[] arr1; // 声明了一个整型的数组 首选方法
int arr2[]; // 声明了一个整型的数组

以上只是声明了一个变量arr1,并没有将arr1初始化为一个真正的数组。

数组的初始化

dataType[] arrayRefVar = new dataType[arraySize];

举例:

double[] arr = new double[10]; 
  1. 以上代码声明了一个长度为 10 的double数组
  2. 创建一个数字数组时, 所有元素都初始化为 0。boolean 数组的元素会初始化为 false。对象数组的元素则初始化为一个特殊值 null, 这表示这些元素(还)未存放任何对象。
  3. 数组的元素是通过索引访问的。数组索引从 0 开始,所以索引值从 0 到 arrayRefVar.length-1
  4. 如果访问arr[10],系统会报出数组越界的异常(array index out of bounds)
  5. 数组一旦被创建,其长度就不能被更改。

在 Java中, 提供了一种创建数组对象并同时赋予初始值的简化书写形式

double[] myList = {1.9, 2.9, 3.4, 3.5};

遍历数组

for循环遍历

double[] myList = {1.9, 2.9, 3.4, 3.5};
for(int i = 0;i < myList.length;i++){
    System.out.println(myList[i]);
}

增强for循环

增强for循环又称for-each

double[] myList = {1.9, 2.9, 3.4, 3.5};
for (double value : myList) {
    System.out.println(value);
}

通过Arrays类中的方法

double[] myList = {1.9, 2.9, 3.4, 3.5};
System.out.println(Arrays.toString(myList));

多维数组

多维数组可以看成数组的数组,如

String[][] str = new String[3][4];
int[][] magicSquare = {
        {16, 3, 2, 13},
        {5, 10, 11, 8},
        {9, 6, 7, 12},
        {4, 15, 14, 1}
};
// 遍历
for (int i = 0; i < magicSquare.length; i++) {
    for (int j = 0; j < magicSquare[i].length; j++) {
        int oldBalance = magicSquare[i][j];
        System.out.println(oldBalance);
    }
}

参考 菜鸟教程 《Java核心技术卷1》