public class Array
{
public static void main(String args[])
{
int a[]= {1,2,3};
int b[];
b = a;
b[2] = 100;
System.out.printf("a[0] = %-3d a[1]= %-3d a[2]= %-3d\n",a[0],a[1],a[2]);
System.out.printf("b[0] = %-3d b[1]= %-3d b[2]= %-3d\n",b[0],b[1],b[2]);
}
}
初学,一个小问题,运行后结果如下,为什么不是a[2] = 3,难道java中数组赋值后b数组和a数组共用内存吗?
a[0] = 1 a[1]= 2 a[2]= 100
b[0] = 1 b[1]= 2 b[2]= 100
{
public static void main(String args[])
{
int a[]= {1,2,3};
int b[];
b = a;
b[2] = 100;
System.out.printf("a[0] = %-3d a[1]= %-3d a[2]= %-3d\n",a[0],a[1],a[2]);
System.out.printf("b[0] = %-3d b[1]= %-3d b[2]= %-3d\n",b[0],b[1],b[2]);
}
}
初学,一个小问题,运行后结果如下,为什么不是a[2] = 3,难道java中数组赋值后b数组和a数组共用内存吗?
a[0] = 1 a[1]= 2 a[2]= 100
b[0] = 1 b[1]= 2 b[2]= 100
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货