Java二维数组的错误写法分析
2019-05-31 08:39
141 查看
参考地址:http://c.biancheng.net/view/916.html
声明的正确写法:
[code]int [][] temp = new int[2][]; //限定了一维数组的个数 int [][] temp = new int[2][3]; //限定了一维数组的个数和每个一维数组的长度 int [][] temp; //对一维数组的个数和一维数组的长度都没有限定 int [][]temp = new int [][] {{1},{2,3}}; //声明的同时初始化二位数组
定义的正确写法:
[code]int [][] temp = new int[2][]; //限定了一维数组的个数 temp[0] = new int[] {1,2,3}; temp[1] = new int[] {3,4,5}; //temp[2] = new int[] {6,7,8}; //这句编译的时候不会出错,但运行的时候会抛出数组越界异常
错误示范1:
[code]int [][] temp; temp[0] ={1,2,3,4}; //不能通过编译 System.out.println(temp[0][0]); /*temp[0]是存的是地址,指向一维数组*/
正确示范1:
[code]int [][] temp; temp = new int[][] {{1},{2,3}}; //正确写法 System.out.println(temp[0][0]); //1
错误示范2:
[code]int [2][] temp; //编译出错
正确示范2:
[code]int [][] temp = new int[2][]; //可以只声明一维数组的个数,不可以只声明一维数组的长度 temp[0] = new int[] {1}; temp[1] = new int[] {2}; temp[2] = new int[] {2}; System.out.println(temp[1][0]);
错误示范3:
[code]int [][] temp = new int[2][3]; //限定了一维数组的个数和每个一维数组的长度 temp[0] = new int[] {1,2,3,2}; //超出了限定的一维数组的长度也没有报错,而且可以正常输出 temp[1] = new int[] {3,4,5}; for(int i=0;i<temp.length;i++) { for(int j=0;j<temp[i].length;j++) { System.out.print(temp[i][j]); } System.out.println(); } /*重新new了一行,每行的个数重新定义了*/
相关文章推荐
- 写 Java 程序最容易犯的 21 种错误实例分析
- 写 Java 程序最容易犯的 21 种错误实例分析
- Java程序最容易犯的21种错误实例分析
- 写 Java 程序最容易犯的 21 种错误实例分析
- android.widget.TabWidget.dispatchDraw(TabWidget.java:216)错误分析
- Java中System.out.printf参数传递错误分析与修正
- 使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- [转]写Java 程序最容易犯的21 种错误实例分析(搜藏)
- java.sql.SQLException: 查询处理器用尽了内部资源,无法生成查询计划 错误分析解决
- 关于java.lang.IllegalArgumentException: View not attached to window manager 错误的分析
- 关于java.lang.OutOfMemoryError: Java heap space的错误分析
- java.lang.NullPointerException错误分析
- Java程序读取excel再分析——纠正前篇错误
- 关于命令行上执行java命令的错误分析 - Could not find or load main class+机器学习
- 使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- Java程序最容易犯的21种错误实例分析
- Struts常见错误及原因分析-Java基础-Java-编程开发
- java.lang.VerifyError错误分析
- java写的一个zip压缩源码错误分析
- java.lang.NullPointerException错误的可能原因分析