使用简单数组
(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 package com.atguigu.exer; 2 3 public class ArrayExer2 { 4 public static void main(String[] args) { //alt + / 5 int[] array1,array2; 6 7 array1 = new int[]{2,3,5,7,11,13,17,19}; 8 9 //显示array1的内容 10 for(int i = 0;i < array1.length;i++){ 11 System.out.print(array1[i] + "\t"); 12 } 13 14 //赋值array2变量等于array1 15 //不能称作数组的复制。 16 array2 = array1; 17 18 //修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2) 19 for(int i = 0;i < array2.length;i++){ 20 if(i % 2 == 0){ 21 array2[i] = i; 22 } 23 24 } 25 System.out.println(); 26 //打印出array1 27 for(int i = 0;i < array1.length;i++){ 28 System.out.print(array1[i] + "\t"); 29 } 30 } 31 }
思考:array1和array2是什么关系?
array1和array2地址值相同,都指向了堆空间的唯一的一个数组实体。
拓展:修改题目,实现array2对array1数组的复制
1 package com.atguigu.exer; 2 /* 3 * 使用简单数组 4 * 拓展:修改题目,实现array2对array1数组的复制 5 */ 6 public class ArrayExer3 { 7 public static void main(String[] args) { //alt + / 8 int[] array1,array2; 9 10 array1 = new int[]{2,3,5,7,11,13,17,19}; 11 12 //显示array1的内容 13 for(int i = 0;i < array1.length;i++){ 14 System.out.print(array1[i] + "\t"); 15 } 16 17 //数组的复制: 18 array2 = new int[array1.length]; 19 for(int i = 0;i < array2.length;i++){ 20 array2[i] = array1[i]; 21 } 22 23 24 //修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2) 25 for(int i = 0;i < array2.length;i++){ 26 if(i % 2 == 0){ 27 array2[i] = i; 28 } 29 30 } 31 System.out.println(); 32 //打印出array1 33 for(int i = 0;i < array1.length;i++){ 34 System.out.print(array1[i] + "\t"); 35 } 36 } 37 }
原文:https://www.cnblogs.com/xiayuan521/p/13530918.html