Java基础 第一节 第二十课

数组作为方法参数

以前的方法中我们学习了方法的参数和返回值, 但是使用的都是基本数据类型. 那么作为引用类型的数组能否作为方法的参数进行传递呢, 当然是可以的.

  • 数组作为方法参数传递, 传递的参数是数组内存的地址
public static void main(String[] args) {
        int[] arr = { 1, 3, 5, 7, 9 };
        // 调用printArray方法,传递数组
        printArray(arr);
    }
      /**
     * printArray方法可以对数组进行遍历
     * @param arr 需要进行遍历的数组
     */
    public static void printArray(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }

在这里插入图片描述

数组作为方法返回值

数组作为方法的返回值, 返回的是数组的内存地址.

public static void main(String[] args) {
        // 调用方法,接收数组的返回值
        // 接收到的是数组的内存地址
        int[] arr = getArray();
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
    /**
     * getArray 方法返回一个数组
     * @return 返回数组的地址
     */
    public static int[] getArray() {
        int[] arr = { 1, 3, 5, 7, 9 };
        // 返回数组的地址,返回到调用者
        return arr;
    }

在这里插入图片描述

方法参数类型区别

代码展示1

分析下列程序代码, 计算输出结果.

public static void main(String[] args) {
        int a = 1;
        int b = 2;
        System.out.println(a);
        System.out.println(b);
        change(a, b);
        System.out.println(a);
        System.out.println(b);
    }
    public static void change(int a, int b) {
        a = a + b;
        b = b + a;
    }

执行结果:
在这里插入图片描述

代码展示2

分析下列程序代码, 计算输出结果.

public static void main(String[] args) {
        int[] arr = {1,3,5};
        System.out.println(arr[0]);
        change(arr);
        System.out.println(arr[0]);
    }
    public static void change(int[] arr) {
        arr[0] = 200;
    }

注: 方法的参数为基本类型是, 传递的是数据值. 方法的参数为引用类型是, 传递的是地址值.

猜你喜欢

转载自blog.csdn.net/weixin_46274168/article/details/109979688