就这次!彻底搞明白Java数组,再也不迷糊了

定义

数组在Java语言中是一种非常重要的数据结构之一,它用来存储固定大小同类型元素。

两个比较重要的要素就是固定大小同类型元素。就是说一个数组类型一来就会被定义上大小(长度)和元素的数据类型。一个数组可以理解成一堆某种相同的东西。

语法定义

dataType[] arrayRefVar;

dataType arrayRefVar[];

上面两种数组声明的方式,Java语言中推荐使用第一种。简单明了,直接理解为类型-数组-变量。

初始化创建数组

初始化数组有两种方式,不管是哪种方式,它的核心都是数组的大小固定。

  • 直接初始化
    这种初始,也叫做静态初始化。就是一上代码,不管其他的直接搞。直接把需要的值赋值上去。
语法定义:

type[] name = new type[]{};

new type[] 可以省略掉直接初始赋值。
//定义长度为5
int[] numbers = new int[5] {1, 2, 3, 4};
// 直接赋值,长度为4
int[] nums = {1, 2, 3, 4};
  • 先给定数组长度定义,再赋值初始化

这种初始化,叫动态初始化。是先定义数组的大小,再动态对数组的每个元素赋值

语法定义:

dataType[] arrayRefVar = new dataType[size];


// 定义数组的大小
int size = 4;

// 初始化数组
int[] numbers = new int[size];

// 对每个元素进行赋值
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
numbers[3] = 4;

// foreach遍历打印元素值
for (int number : numbers) {
    System.out.println(number);
}

// 通过下标展示元素值
for (int i = 0; i < numbers.length; i++) {

    // 读取元素值
    System.out.println(numbers[i]);
}

// 打印结果

1
2
3
4
1
2
3
4

上面对数组每个元素赋值采用是numbers[index] = value; index的范围是0--(数组长度-1) 。index称为下标。下标的定义从0开始 的。比如我们说数组的第1个元素就是小标为0的元素。

// 对每个元素进行赋值
numbers[0] = 1;

numbers[1] = 2;

numbers[2] = 3;

numbers[3] = 4;

读取元素值同样使用的是numbers[index]。

for (int i = 0; i < numbers.length; i++) {

    // 读取元素值
    System.out.println(numbers[i]);
}

为了方便数组的操作,api提供了java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。以下是一些常用的功能:

  • 给数组赋值:通过 fill 方法。
  • 对数组排序:通过 sort 方法,按升序。
  • 比较数组:通过 equals 方法比较数组中元素值是否相等。
  • 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

这个时候,有朋友可能会有疑问,这么多方法,我怎么记得住。方法多了你记住也会忘啊。我找到了api的中文文档,你用到的时候就可以根据相关的类去查询就行,比如你只需要记住Arrays是对数组相关操作就行。用的时候去查询具体的方法就行。

评论

企鹅群:39438021

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×