数组的赋值、复制(java)


使用简单数组

(1)创建一个名为ArrayExer2的类,在main()方法中声明array1和array2两个变量,他们是int[]类型的数组。
(2)使用大括号{},把array1初始化为8个素数:2,3,5,7,11,13,17,19。
(3)显示array1的内容。
(4)赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2)。打印出array1。

 1 public class ArrayExer2 {
 2     public static void main(String[] args) {  //alt + /
 3         int[] array1,array2;
 4         
 5         array1 = new int[]{2,3,5,7,11,13,17,19};
 6         
 7         //显示array1的内容
 8         for(int i = 0;i < array1.length;i++){
 9             System.out.print(array1[i] + "\t");
10         }
11         
12         //赋值array2变量等于array1
13         //不能称作数组的复制。
14         array2 = array1;
15         
16         //修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2)
17         for(int i = 0;i < array2.length;i++){
18             if(i % 2 == 0){
19                 array2[i] = i;
20             }
21             
22         }
23         System.out.println();
24         //打印出array1
25         for(int i = 0;i < array1.length;i++){
26             System.out.print(array1[i] + "\t");
27         }
28     }
29 }

 

思考:array1和array2是什么关系?

array1和array2地址值相同,都指向了堆空间的唯一的一个数组实体。

拓展:修改题目,实现array2对array1数组的复制

 1 /*
 2  * 使用简单数组
 3  * 拓展:修改题目,实现array2对array1数组的复制
 4  */
 5 public class ArrayExer3 {
 6     public static void main(String[] args) {  //alt + /
 7         int[] array1,array2;
 8         
 9         array1 = new int[]{2,3,5,7,11,13,17,19};
10         
11         //显示array1的内容
12         for(int i = 0;i < array1.length;i++){
13             System.out.print(array1[i] + "\t");
14         }
15         
16         //数组的复制:
17         array2 = new int[array1.length];
18         for(int i = 0;i < array2.length;i++){
19             array2[i] = array1[i];
20         }
21 
22         
23         //修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2)
24         for(int i = 0;i < array2.length;i++){
25             if(i % 2 == 0){
26                 array2[i] = i;
27             }
28             
29         }
30         System.out.println();
31         //打印出array1
32         for(int i = 0;i < array1.length;i++){
33             System.out.print(array1[i] + "\t");
34         }
35     }
36 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM