3.数组的赋值、反转、查找(线性查找、二分法查找)。
使用简单数组
- 创建一个名为ArrayTest的类,再main()方法中声明array1和array2两个变量,他们是int【】类型的数组。
- 使用大括号{},把array1初始化为8个素数:2,3,5,7,11,13,17,19.
- 现实array1的内容。
- 赋值array2变量等于arrgy1,修改arrgy2中的偶索引元素,使其等于索引值(如array【0】 = 0,array【2】 = 2)。打印出array1.
思考:array1和array2的使什么关系?
答:array1和array2地址值相同,都指向了堆空间的唯一的一个数组实体。
代码:
public class arraytest2 {
public static void main(String[] args) {
int[] array1, array2;
//
array1 = new int[] { 2, 3, 5, 7, 11, 13, 17, 19 };
//
// 显示array2的内容
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i] + "\t");
}
//
// 赋值array2变量等于array1
array2 = array1;//不能称作数组的复制
//实质上是把array1的地址值给了array2,修改array2即修改数据,array1中显示的值也会变。
//
// 修改arrgy2中的偶索引元素,使其等于索引值(如array【0】 = 0,array【2】 = 2).打印出array1.
for (int i = 0; i < array2.length; i++) {
if (i % 2 == 0) {
array2[i] = i;
}
}
System.out.println();
//
// 打印array1
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i] + "\t");
}
}
}
输出:
2 3 5 7 11 13 17 19
0 3 2 7 4 13 6 19
拓展:修改题目,实现array2对array1数组的赋值。
代码:
public class arraytest3 {
public static void main(String[] args) {
int[] array1, array2;
//
array1 = new int[] { 2, 3, 5, 7, 11, 13, 17, 19 };
//
// 显示array2的内容
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i] + "\t");
}
//
// 数组的复制
array2 = new int[array1.length];
for (int i = 0; i < array2.length; i++) {
array2[i] = array1[i];
}
//
// 修改arrgy2中的偶索引元素,使其等于索引值(如array【0】 = 0,array【2】 = 2).打印出array1.
for (int i = 0; i < array2.length; i++) {
if (i % 2 == 0) {
array2[i] = i;
}
}
System.out.println();
//
// 打印array1
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i] + "\t");
}
System.out.println();
// 打印array2
for (int i = 0; i < array2.length; i++) {
System.out.print(array2[i] + "\t");
}
}
}
输出:
2 3 5 7 11 13 17 19
2 3 5 7 11 13 17 19
0 3 2 7 4 13 6 19