Java数组初始化有三种方式:一是声明并直接初始化(如int[] nums = {1,2,3}),须同行完成;二是先声明后用new创建(如int[] arr; arr = new int[5]);三是声明+new+初始化合并(如int[] data = new int[]{1,2,3}),二维数组同理。

Java中数组初始化有多种方式,关键看你是想在声明时直接赋值,还是先声明再赋值,或者用动态方式创建。
声明并直接初始化(推荐用于已知元素)
适合元素内容确定、数量固定的情况。语法简洁,一步到位:
- int[] nums = {1, 2, 3, 4, 5}; —— 声明整型数组并用大括号初始化
- String[] names = {"Alice", "Bob", "Charlie"}; —— 字符串数组同理
- 注意:这种方式必须在声明时完成,不能拆成两行写(如 int[] arr; arr = {1,2}; 是编译错误)
先声明后创建(适用于运行时才确定长度)
当数组大小依赖变量或用户输入时常用:
- int[] arr; —— 声明引用,此时 arr 为 null
- arr = new int[5]; —— 创建长度为5的int数组,所有元素自动初始化为0
- 之后可逐个赋值:arr[0] = 10; arr[1] = 20;
声明+创建+初始化合并写法(灵活且常见)
结合前两种优点,既指定长度又支持后续赋值:
立即学习“Java免费学习笔记(深入)”;
- int[] data = new int[]{1, 2, 3}; —— 等价于 {1,2,3} 写法,但可拆开
- int[] temp = new int[3]; temp[0] = 7; —— 先建空数组,再填值
- 这种写法允许你把数组创建逻辑封装在方法里,比如 new int[readSize()]
二维数组的简单初始化示例
理解一维后,二维只是“数组的数组”:
- int[][] matrix = {{1, 2}, {3, 4}}; —— 直接初始化,两行两列
- int[][] grid = new int[2][3]; —— 创建2×3的int数组,全为0
- 单独赋值:grid[0][1] = 5;
基本上就这些。记住核心:大括号初始化要和声明同行;new 创建可延迟,也支持动态长度;多维数组本质是引用嵌套,初始化逻辑一致。










