[问题] 简单的二维阵列转一维阵列

楼主: junk (复)   2015-06-15 21:24:44
各位版友好,想请教二维阵列转一维阵列的问题
int[][]a={{1,4,7,10},
{2,5,8,11},
{3,6,9,12}};
System.out.println(a.length); //a.length =3
for(int[] b:a)
{
System.out.println(b[0]); //会印出1,2,3
System.out.println(b.length); //b.length = 4
}
让我有点混淆的是使用for-each循环由二维转一维阵列后
1.阵列长度由3变到4?
2.另外就是b[0]印出的结果为1,2,3?
以阵列传递来看,应该是以列为单位传递,为何不是{1,4,7,10}?
是二维转一维造成翻转?
一点点疑问,先谢谢大家~~
作者: Dnight (暗夜)   2015-06-15 21:56:00
我觉得你是不是对二维阵列理解错误阿...
作者: aznchat100 (aznchat100)   2015-06-15 21:57:00
a.length应该等于3吧?
楼主: junk (复)   2015-06-15 23:06:00
呃...我打反了,a.length是3,b.length是4我修正了@@
作者: cha122977 (CHA)   2015-06-16 09:34:00
a内有三个成员{1,4,7,10} {2,5,8,11} {3,6,9,12}b.length是4非常合理b在三次循环中分别是{1,4,7,10} {2,5,8,11} {3,6,9,12}所以三次循环中的b[0]分别是 1, 2, 3

Links booklink

Contact Us: admin [ a t ] ucptt.com