java语言二维数组

来源:百度知道 编辑:UC知道 时间:2024/06/29 21:07:14
我想赋值并输出一个二维数组;
为什么不能这样写

public class Tes
{
public static void main(String[] args)
{

int erwei[][]={
{1,2,9,10,25},
{4,3,8,11,24},
{5,6,7,11,24},
{16,15,14,13,22},
{17,18,19,20,21}
};
System.out.println(erwei+"");
}
}

我想知道为什么System.out.println(erwei+"");这个语句没用?

System.out.println方法是输出参数内容。你指定的参数是erwei+""。erwei是个数组,在java中数组也是一种对象,那么这个“+”就表示erwei与空串的连接。java对此的执行是先把erwei变成字符串(不是所有元素连接成字符串,而是数组对象本身地址信息变成字符串),再输出。

你这个语句的输出只能是erwei ,原因是JVM将数组名转换成了一个字符串输出了,而并不会输出数组元素.要想正确输出,就看看一楼的吧,不过一楼写的程序的确是正确的,能够运行成功,但是我是看不懂,下面给出我觉得能看得懂的程序:

public class Tes
{
public static void main(String[] args)
{

int erwei[][]={
{1,2,9,10,25},
{4,3,8,11,24},
{5,6,7,11,24},
{16,15,14,13,22},
{17,18,19,20,21}
};

for(int i=0;i<erwei.length;i++) {
for(int j=0;j<erwei[i].length;j++) {
System.out.print(erwei[i][j]+" ");
}
System.out.println();
}
}

不是没有用,你输出的只是它的地址,不是里面的值而已
要输出的话,你可以:
for(int i[] : erwei) {
for(int j : i) {
System.out.println(j);
}
}
就可以了

public class Tes