數組的賦值、復制(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