Java数组备忘录

时间:2023-12-17 22:53:26

前言

近期用Java做ACM题目的时候,常常忘记数组怎样实现静态初始化,所以这里记录一下Java数组使用的常识。


Java数组常识

数组在Java中是一个对象,数组实例须要通过new操作符进行创建。

常识知识:

  1. 数组大小能够通过Array.length获取。
  2. 数组索引起始为0,负数索引在Java中是无效的。而且,和C语言数组不同,Java中的数组会进行越界推断。无效的索引会抛出ArrayIndexOutOfBoundException。
  3. 数组存储在Java堆的连续内存空间。
  4. 数组是一个固定长度的数据结构。一旦声明了数组的长度。之后的操作不能再改变数组的长度。
  5. 数组是一种很快的数据结构。假设你已经能确定数据的多少,那么就应该使用数组而非ArrayList等数据结构。

Java数组初始化

Java数组初始化分为动态初始化和静态初始化。

以int类型的数组为例,分别介绍一下静态初始化和动态初始化。


静态初始化

int[] array = new int[] {1, 2, 3, 4, 5, 6};

从上面的代码能够看出,静态初始化就是显示指定数组每一个元素的初始值,由系统决定数组的长度。


动态初始化

int[] array = new int[6];

从上面的代码能够看出,动态初始化就是仅仅指定数组的长度,由系统为数组分配初始值。

不同类型。系统分配的初始值也是不一样的。

类型 初始值
整数类型(byte,short,int,long) 0
浮点类型(float,double) 0.0
字符类型(char) ‘\u0000’(代表空格)
布尔类型(boolean) false
引用类型(类,接口,数组) null