使用简单数组
(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 }