前言
最近用Java做ACM题目的时候,经常忘记数组如何实现静态初始化,所以这里记录一下Java数组使用的常识。
Java数组常识
数组在Java中是一个对象,数组实例需要通过new操作符进行创建。
常识知识:
- 数组大小可以通过Array.length获取。
- 数组索引起始为0,负数索引在Java中是无效的。并且,和C语言数组不同,Java中的数组会进行越界判断,无效的索引会抛出ArrayIndexOutOfBoundException。
- 数组存储在Java堆的连续内存空间。
- 数组是一个固定长度的数据结构,一旦声明了数组的长度,之后的操作不能再改变数组的长度。
- 数组是一种非常快的数据结构,如果你已经能确定数据的多少,那么就应该使用数组而非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 |
时间: 2024-10-08 17:04:16