在数组进行引用传递的处理中,最为常见的形式就是基于方法进行引用数据的处理或返回,下面将通过几个案例对此类操作进行说明。
接下来通过使用方法接受数组引用:
package com.Practice05;
public class ArrayDemo {
public static void main(String[] args) {
int data[] = new int[] {1,2,3};
printArray(data);
}
public static void printArray(int temp[]) {
for (int i = 0; i < temp.length; i++) {
System.out.print(temp[i] + "、");
}
}
}
运行结果如下:
本程序利用数组静态初始化定义数组,随后将其引用地址传递给了printArray()方法中的temp变量,在程序中方法也可以返回一个数组的引用,此时只需要在方法的返回值类型上将其定义为对应的数组类型即可。
方法返回数组:
package com.Practice05;
public class ArrayDemo {
public static void main(String[] args) {
int data[] = initArray(); //接收数组
printArray(data); //数组引用传递
}
public static int[] initArray() {
int arr[] = new int[] {1, 2, 3}; //开辟数组
return arr; //返回数组
}
public static void printArray(int[] temp) {
for (int i = 0; i < temp.length; i++) { //for循环输出
System.out.println(temp[i] + "、"); //下标获取元素内容
}
}
}
本程序定义的initArray()方法的主要功能就是返回一个数组的引用,由于initArray()方法的返回值类型为int[],所以必须使用同类型的数组接收,即“int data[] = intArray()”
通过方法修改数组内容:
package com.Practice05;
public class ArrayDemo {
public static void main(String[] args) {
int data[] = new int[] {1,2,3};
changeArray(data);
printArray(data);
}
private static void printArray(int[] data) {
for (int x = 0; x < data.length; x++) {
System.out.println(data[x] + "、");
}
}
private static void changeArray(int[] arr) {
for(int i = 0; i < arr.length; i++) {
arr[i] *= 2;
}
}
}
程序运行结果如下:
本程序changeArray()方法的主要功能是修改收到的数组内容,由于发生的是引用关系,所以修改后的结果将直接影响到原始内容。
我认为数组和循环是作为基础学习的基石,以及我们所学的面向对象,希望作为新人的我们,打牢基础,努力向前!