阅读下列程序,写出程序运行结果。
public class C3302 {
public static void main(String[]args) {
int[][]a={{1,2,3},{4,5,6}};
System.out.println(a.length+","+a[0].length+","+a[1][1]);
String[]s={"a","b"};
f3302(s[0],s[1]);
System.out.println(s[0]+","+s[1]);
Strings1="abc",s2="123";
s1+="xyz"; s2.concat("xyz");
System.out.println(s1+","+s2);}
staticvoidf3302(Stringx,Stringy){Stringz=x;x=y;y=z;}}
【正确答案】:运行结果:2,3,5a,babcxyz,123
【题目解析】:对于二维数组来说,有两种长度,一种是二维数组的长度,一种是二维数组元素的长度,数组的下标都是从0开始。方法f3302()中的交换只是交换了形参(局部变量)x和y的值,并没有使实参s[0]和s[1]发生交换。+和concat()都能完成字符串的连接。s2.concat("xyz")连接得到的新字符串并没有赋值,它和s2=s2.concat("xyz")是不同的。