java基本类型数组初始化核心是明确长度和默认值规则:new创建时自动赋0、0.0、'\u0000'或false;静态初始化用{}声明时赋值;动态初始化先new后逐个赋值,需防越界。

Java基本数据类型在数组中初始化,核心就两点:明确数组长度、理解默认值规则。基本类型数组一旦创建,元素会自动获得对应默认值,无需手动赋初值;但若需特定初始值,就得用静态或动态方式显式设置。
基本类型数组的默认初始化
只要用了 new 数据类型[长度] 创建数组,所有元素就会按类型自动填入默认值:
- int、short、byte、long → 默认为 0
- float、double → 默认为 0.0
- char → 默认为 '\u0000'(空字符,不是空格)
- boolean → 默认为 false
例如:int[] nums = new int[3]; 创建后,nums[0]、nums[1]、nums[2] 全是 0,不用额外写赋值语句。
用静态初始化直接设具体值
如果想一上来就给每个元素指定值,用大括号 {} 方式最简洁,编译器自动推断长度:
-
int[] a = {10, 20, 30};→ 长度为3,值依次是10、20、30 -
double[] b = new double[]{1.5, 2.7, 3.0};→ 效果同上,只是写法略冗余 -
boolean[] flags = {true, false, true};→ 不支持混合类型,必须全为 boolean
注意:这种写法只能在声明时使用,不能用于已声明未初始化的变量再赋值(如 int[] c; c = {1,2}; 是编译错误)。
动态初始化后逐个赋值
先分配空间,再按需填充——适合运行时才知道值的情况:
-
int[] data = new int[4];→ 全为0 data[0] = 100;data[1] = -5;-
data[3] = 999;→ 中间data[2]仍保持默认值0
这种方式灵活,但要注意索引越界(比如对长度为4的数组访问 data[4] 会抛 ArrayIndexOutOfBoundsException)。
常见误区提醒
别把“数组变量”和“数组对象”混淆:
-
int[] arr;只是声明了一个引用变量,此时 arr == null,还没创建数组对象 -
arr = new int[3];才真正在堆里建好数组,元素才获得默认值 -
int[] arr = new int[]{1,2,3};是声明+创建+赋值一步到位
不复杂但容易忽略。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











