数组的赋值与复制

让数组2出现与数组1相同的内容有两种方法:

(1)赋值:

public class lian7 {

	public static void main(String[] args) {
		String[] arr1=new String[] {"金","木","水","火","土"};
		String[] arr2=new String[5];
		for(int i=0;i<arr1.length;i++)
		{
			arr2[i]=arr1[i];//数组复制
		System.out.println(arr2[i]);
		}
	}

}

复制就是利用循环让数组arr2与arr1每一个元素都对应相等即可。

(2)复制:

public class lian6 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] arr1,arr2;
		arr2=new int[8];
		arr1=new int[]{2,3,5,7,11,13,17,19};
		for(int i=0;i<arr1.length;i++)
		{
			System.out.print(arr1[i]+"\t");
		}
		System.out.println();
		arr2=arr1;//这一步赋值注意顺序,看清是谁的值赋给了谁。
		for(int i=0;i<arr2.length;i++)
		{
			if(i%2==0)
			{
				arr2[i]=i;
			}
		}
		for(int i=0;i<arr1.length;i++) {
			System.out.print(arr1[i]+"\t");
			}
	}

}

而赋值不需要利用循环,直接输入arr2=arr1即可。

(3)相同点:

1.都可以使一个空白的数组可以输出原本数组一样的结果。

2.都是用arr2=arr1去赋值(复制)。

(4)不同点:

1.赋值相当于新数组中储存的是一个通往旧数组的通道,实际输出的还是旧数组,当你更改新数组时,再输出会发现旧数组也发生了改变。

2.复制相当于将原来的数组抄下来,放在arr2中形成一个新数组。这个数组除了与原数组内元素相同外没其他任何关系,更原数组不会有任何变化。

3.复制过程需要利用循环,将两个数组内一一对应,而赋值只需要有将原数组赋给新数组的语言即可,如:arr2=arr1;

(5)注意:无论是赋值还是复制,都要看清新旧数组的顺序,注意是将谁赋给了谁。

上一篇:对象的补集,差集等


下一篇:蓝桥杯-矩形面积交