数组是java中的核心之一,多变的形态使它一直是程序员的好帮手,本篇文章我们就来了解下数组中的多维数组是如何初始化的。
示例:
import java.util.Arrays; public class Test { public static void main(String[] args) { //声明了一个数组变量,但是这个变量还没有初始化, // 也就是说没有指向任何内存,甚至连null都不是,此时还不能使用 int[] a; a = null; //数组也是对象,将a初始化为null System.out.println(Arrays.toString(a)); a = new int[5]; //将a初始化为一个长度为5的整型数组,数组中的元素默认初始化为0 System.out.println(Arrays.toString(a)); a = new int[] { 1 , 2 , 3 , 4 , 5 }; //创建了一个匿名数组,并将a指向这个匿名数组 System.out.println(Arrays.toString(a)); //这是创建数组对象并同时赋值的简化书写形式,不需要调用new,也不能调用new int[] smallPrimes = { 2 , 3 , 5 , 7 , 11 }; System.out.println(Arrays.toString(smallPrimes)); /* * java中没有多维数组,也就是说arr表示引用一个数组,这个数组中存放的应该是int[][]型的引用 * 但是这个时候arr没有初始化,它甚至连null都不是 * */ int[][][] arr = new int[2][][]; /* new int[2][][]将在堆中开辟内存,内存的大小为两个int[][]型引用的长度 * 默认初始化为null,也就是说arr[0]和arr[1]都是null * 如果要给arr[0]赋值,需要赋一个int[][]型的引用值, * 像下面这样*/ arr[0] = new int[3][3]; /* * 下面是创建一维数组对象并同时赋值的简化书写形式, * 不需要调用new,也不能调用new *int[] smallPrimes = {2, 3, 5, 7, 11}; * 如果想要像这样给arr[1]赋值,应该已经没有机会了 * * 下面是通过创建匿名数组初始化一维数组a * a = new int[]{1, 2, 3, 4, 5};//创建了一个匿名数组,并将a指向这个匿名数组 * 如果是想要像这样给arr[1]赋值,考虑如何创建二维匿名数组 *首先明确,二维数组中存放的是一维数组的引用,仿照一维数组的形式, * 在大括号中创建匿名一维数组就可以了*/ arr[1] = new int[][] { new int[] { 1 , 2 }, new int[] { 3 , 4 }, new int[3] , {} }; System.out.println(Arrays.deepToString(arr)); //查看arr的内容,是不规则数组 } }
以上就是今天的全部内容了,对java项目中常见问题相信你一般都能自己解决了吧,如果碰到解决不了的问题,记得来我们网站寻找答案啊。
推荐阅读: