本帖最后由 谢铭 于 2013-8-14 21:47 编辑
- public class Demo {
- public static void main(String[] args){
- int[] x, y[];
- x = new int[3];
- y = new int[3][3];
- x[0] = 3;
- y[0][0] =1;
- System.out.println(x[0]);
- System.out.println(x);
- System.out.println(y);
- }
- }
复制代码 如果对于int []x,y[]还有疑问的话,你可以测试下上面这段代码,输出的结果是:
3 //上面赋值了,所以输出结果是这个
[I@cdb06e // [表示的是一维数组,@后面的是内存地址值
[[I@1fa1bb6 // [[表示二维数组,@后面的是内存地址值- int[] x, y[]
- 上面这段代码是拆成两部分的
- int[]x; //一维数组
- int[] y[]; //二维数组
- x[0] = y; //这里是指导二维数组y赋值给一维数组x的0角标,结果就是错的
- y[0] = x; //把一维数组赋值给二维数组中,y[0]的一维数组,结果是对的
- y[0][0] =x; //这个是把二维数组中,第一个一维数组的0角标位上的值赋值给一维数组x,结果是错的
- x[0][0] = y; //x为一维数组,不存在x[0][0]这种写法,赋值不了,结果是错的
- y[0][0] = x[0] //把一维数组x的0角标位上的值赋值给二维数组y的第一个一维数组的0角标,结果是对的
- x = y; //不能把二维数组赋值给一维数组
- 最主要的是要看懂哪个是一维数组,哪个是二维数组
复制代码
|