JavaSE010_数组之二维数组的实质和遍历
2016-01-22 21:58
309 查看
1、二维数组的实质是一维数组
输出结果为:
null
null
0
6
2、遍历二维数组
1
12
123
输出结果为:
1
12
123
1
1
2
1
2
3
/* * type [][] arrName * Java语言采用上面的语法格式来定义二维数组,但它的实质还是一维数组, * 只是其数组元素也是引用,数组元素里保存的引用指向一维数组。 * * 同样可以把这个二维数组当成以为数组来初始化:arrName = new type[length][] * 上面的语法相当于初始化了一个一维数组,这个一维数组的长度时length * 因为这个一维数组的数组元素时引用类型(数组类型)的,所以系统为每个数组元素都分配初始值:null */ public class TestTwoDimension { public static void main(String[] args) { // 定义一个二维数组 int[][] a; // 把a当成一维数组进行初始化,初始化a是一个长度为3的数组 // a数组的数组元素又是引用类型 a = new int[3][]; // 把a这个二维数组当成一维数组处理,遍历a数组的每个数组元素 for (int i = 0; i < a.length; i++) { System.out.println(a[i]); //每个数组元素都是null,所以输出结果都是null } // 初始化a数组的第一个元素 a[0] = new int[2]; // 访问a数组的第一个元素所指数组的第二个元素 a[0][1] = 6; // a数组的第一个元素是一个一维数组,遍历这个一维数组 for (int i = 0; i < a[0].length; i++) { System.out.println(a[0][i]); } // 同时初始化二维数组的2个维数 int[][] b = new int[3][4]; // 使用静态初始化的语法来初始化一个二维数组 String[][] str1 = new String[][] { new String[3], new String[] { "hello" } }; // 使用简化的静态初始化语法来初始化二维数组 String[][] str2 = { new String[3], new String[] { "hello" } }; } }
输出结果为:
null
null
0
6
2、遍历二维数组
/* * 遍历二维数组方式一 */ public class TestTwoDimension { public static void main(String[] args) { int arr[][] = new int[][] { { 1 }, { 1, 2 }, { 1, 2, 3 } }; for (int i = 0; i < arr.length; i++) { int[] arr2 = arr[i]; for (int c = 0; c < arr2.length; c++) { System.out.print(arr2[c]); } System.out.println(); } } }输出结果为:
1
12
123
/* * 遍历二维数组方式二 */ public class TestTwoDimension { public static void main(String[] args) { int arr[][] = new int[][] { { 1 }, { 1, 2 }, { 1, 2, 3 } }; for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j]); } System.out.println(); } } }
输出结果为:
1
12
123
/* * 遍历二维数组方式三 */ public class TestTwoDimension { public static void main(String[] args) { int arr[][] = new int[][] { { 1 }, { 1, 2 }, { 1, 2, 3 } }; for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) { System.out.println(arr[i][j]); } System.out.println(); } } }输出结果为:
1
1
2
1
2
3
相关文章推荐
- Java中接口的说明
- eclipse黑色酷炫主题设置2
- MyEclipse弹出提示窗体
- dom4j java.lang.NoClassDefFoundError: org/jaxen/JaxenException
- 【SSH】——struts2 拦截器
- 为Java说句公道话
- Java 创建不可变对象-final关键字的使用总结
- 使用Maven管理Spring
- Java和C + +有什么区别?
- SpringMVC,MyBatis商品的增删改查
- Maven(m2e)集成之二
- JavaSE009_数组之foreach循环
- [Java基础] 深入jar包:从jar包中读取资源文件
- hdfs java.io.IOException: Mkdirs failed to create
- hadoop - hadoop2.6 伪分布式 - Java API 操作 HDFS
- java点滴之InetAddress类和InetSocketAddress的使用
- 【Java】【编译】javac编译源代码时,若源文件使用了别的java源代码的函数,javac会自动关联。
- Java多线程2
- Eclipse小细节
- 【java】从控制台获取输入