数组的基本操作:
面向过程:(Java代码)
package ch01;
public class TestArray2 {
public static void main(String[] args) {
int[] intArray = new int[10];
// 循环插入数据
for (int i = 0; i < intArray.length; i++) {
intArray[i] = i;
}
// 显示数据
System.out.print("原数据为:");
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i] + " ");
}
System.out.println();
// 查找数据
int searchKey = 5;
int i;
for (i = 0; i < intArray.length; i++) {
if (searchKey == intArray[i]) {
break;
}
}
if (i == intArray.length) {
System.out.println("查找不到指定数据");
} else {
System.out.println("找到指定数据,下标为" + i);
}
// 删除数据
int deleteKey = 4;
for (i = 0; i < intArray.length; i++) {
if (intArray[i] == deleteKey) {
break;
}
}
if (i == intArray.length) {
System.out.println("查找不到指定数据");
} else {
for (int j = i; j < intArray.length - 1; j++) {
intArray[j] = intArray[j + 1];
}
intArray[intArray.length - 1] = 0;
}
// 显示数据
System.out.print("删除后的数据为:");
for (int a = 0; a < intArray.length; a++) {
System.out.print(intArray[a] + " ");
}
System.out.println();
// 修改数据
int xiugaiKey = 5; // 将数据改为6
for (i = 0; i < intArray.length; i++) {
if (xiugaiKey == intArray[i]) {
break;
}
}
if (i == intArray.length) {
System.out.println("查找不到指定数据");
} else {
intArray[i] = 6;
}
System.out.print("修改后的数据为:");
// 显示数据
for (i = 0; i < intArray.length; i++) {
System.out.print(intArray[i] + " ");
}
}
}
面向对象(Java代码):
package ch01;
public class MyArray {
// 数组
private long[] arr;
// 数组中有效数据的大小
private int elems;
// 默认构造函数
public MyArray() {
arr = new long[50];
}
public MyArray(int max) {
arr = new long[max];
}
// 插入数据
public void insert(long value) {
arr[elems] = value;
elems++;
}
// 显示数据
public void display() {
for (int i = 0; i < elems; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
// 查找数据
public int find(long searchKey) {
int i;
for (i = 0; i < elems; i++) {
if (arr[i] == searchKey) {
break;
}
}
if (i == arr.length) {
return -1;
} else {
return i;
}
}
// 删除数据
public void delete(long deleteKey) {
if (find(deleteKey) == -1) {
System.out.println("查找不到指定数据,删除失败");
} else {
for (int i = find(deleteKey); i < elems; i++) {
arr[i] = arr[i + 1];
}
}
}
// 修改数据
public void change(long oddValue, long newValue) {
if (find(oddValue) == -1) {
System.out.println("查找不到指定数据,修改失败");
} else {
arr[find(oddValue)] = newValue;
}
}
public static void main(String[] args) {
MyArray myArray = new MyArray();
System.out.print("原数组为:");
myArray.insert(20);
myArray.insert(54);
myArray.insert(57);
myArray.insert(763);
myArray.display();
System.out.println(myArray.find(57));
System.out.print("删除后的数组为:");
myArray.delete(20);
myArray.display();
System.out.print("修改后的数组为:");
myArray.change(763, 45);
myArray.display();
}
}
面向对象减少了代码使用的重复率,这也是Java重要特征。