在上一节中,我给出了Java数组的建立的两种方式:静态与动态地建立,以及数组在内存中的分配,和在初始化时容易出错的例子。如今来讨论一下一维数组与多维数组的区别: 以一维数组和二维数组为例:编程
public class Test { public static void main(String[] args) { // 建立一个一维数组 String[] nickNames = new String[] { "陈山", "老陈", "小陈" }; // 建立一个二维数组 String[][] nickNameGroups = new String[][] { { "陈山", "老陈", "小陈" }, { "老峰", "峰哥", "大喜" } }; // 打印 System.out.println(Arrays.toString(nickNames)); for (String[] nickNames2 : nickNameGroups) { System.out.println(Arrays.toString(nickNames2)); } } }
[陈山, 老陈, 小陈] [陈山, 老陈, 小陈] [老峰, 峰哥, 大喜]
实际上,多维数组是由多个一维数组组成的,以二维数组为例:数组
public class Test { public static void main(String[] args) { // 建立一个二维数组,其初始长度为3 String[][] nickNameGroups = new String[3][]; // 把这个二维数组看成一维数组 for (int i = 0; i < nickNameGroups.length; ++i) { System.out.println(nickNameGroups[i]); } System.out.println("---------------------------"); // 在这个二维的数组的第一个位置上建立一个新的String类型的数组 nickNameGroups[0] = new String[3]; // 赋值 nickNameGroups[0][0] = "小陈"; nickNameGroups[0][1] = "陈山"; nickNameGroups[0][2] = "老陈"; // 遍历所有元素 for (int i = 0; i < nickNameGroups.length; ++i) { System.out.println(Arrays.toString(nickNameGroups[i])); } } }
null null null --------------------------- [小陈, 陈山, 老陈] null null
深入了解二维数组有利于更好地进行编程。code