1.数组概述

  • 数组是相同类型数据的有序集合。
  • 数组描述的是相同类型的若干个数据按照一定的先后次序排列组合而成。
  • 其中每一个数据称作一个数组元素每个数组元素可以通过一个下标来访问它们。

2.数组声明创建

  • 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:
1
2
3
dataType[] arrayRefVar;	// 首选的方法

dataType arrayRefVar[]; // 效果相同,但不是首选方法
  • Java语言使用new操作符来创建数组,语法如下:
1
dataType[] arrayRefVar = new dataType[arraySize];
  • 数组的元素是通过索引访问的,数组索引从0开始。

  • 获取数组长度:arrays. length

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27

    public class ArrayDemo01 {
    // 变量的类型 变量的名字 = 变量的值

    public static void main(String[] args) {
    int[] numbers; // 1.定义

    int[] numbers = new int[10]; // 2.创建一个数组
    // 这里面可以存放10个int型数字

    // 3.给数组赋值
    numbers[0]=1;
    numbers[1]=2;
    numbers[2]=3;
    ...

    // 计算所有数字的和
    int sum = 0;
    // 获取数组的长度: arrays.length
    for(int i = 0;i<numbers.length;i++){
    sum = sum + numbers[i];
    }

    System.out.println(sum);
    }

    }

内存分析

image-20240719180451389

image-20240719180516918

1
2
3
4
5
6
7
8
9
10
11
12
public class ArrayDemo02 {
public static void main(String[] args) {
// 静态初始化 : 创建 + 赋值
int[] a = {1,2,3,4,5,6,7,8};
System.out.println(a[0]);
// 动态初始化
int[] b = new int[2];
b[0]=10;

System.out.println(b[0]);
}
}
  • 数组的四个基本特点:

    • 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的;

    • 其元素必须是相同类型不允许出现混合类型。

    • 数组中的元素可以是任何数据类型,包括基本类型和引用类型。

    • 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

  • 下标越界及小结:

    • 下标的合法区间:[0, length-1],如果越界就会报错:

    • ArraylndexOutofBounds Exception:数组下标越界异常!

  • 数组是相同数据类型(数据类型可以为任意类型)的有序集合数组也是对象。

  • 数组元素相当于对象的成员变量。

  • 数组长度的确定的,不可变的。如果越界,则报:ArrayIndexOutofBounds。

3.数组使用