public class Array8 {
public static void main(String[] args) {
int[][] c ={{1,2}, {1,2,3}, {3,4}};
int[][] b = new int[3][];
System.arraycopy(c, 0, b, 0, c.length);
b[2][1] = 100;
for(int i =0 ; i < c.length; i++) {
for(int j=0 ; i < c[i].length; i++) {
System.out.print(c[i][j] + " ");
}
System.out.println();
}
}
结果只得到 1 1,怎么回事,该怎么改?
for(int i =0 ; i < c.length; i++) {
for(int j=0 ; j < c[i].length; j++) {
System.out.print(c[i][j] + " ");
}
System.out.println();
}
for(int j=0 ; i < c[i].length; i++)
应该这样 for(int j=0 ; j < c[i].length; j++)
for(int i[]:c) {
for(int j:i){
System.out.print (j+" ");
}
System.out.println();
}
1. 数组也是一种对象,跟Object,ArrayList这些类的对象是一样.
2. 当数组的类型是primitive时,数组存放的是真实的值.
3. 当数组的类型是类时,数组存放的是对象的reference.
4. 对于二维数组,其第一维中每个位置存放的是一个一维数组的reference(因为数组也是对象).如此类推,多维数组也不难理解了.